AudioSystem
类充当采样音频系统资源的入口点。该类允许您查询和访问安装在系统上的混音器。 AudioSystem
包括许多方法,用于在不同格式之间转换音频数据,以及在音频文件和流之间进行转换。它还提供了一种方法,可以直接从AudioSystem
中获取一个Line
,而无需明确处理混音器。
属性可用于指定特定线路类型的默认混音器。系统属性和属性文件都会被考虑。将从特定于实现的位置(通常是Java安装目录中的conf
目录)读取名为“sound.properties”的属性文件。可选的“javax.sound.config.file”系统属性可用于指定将作为初始配置读取的属性文件。如果属性既存在于系统属性中又存在于属性文件中,则系统属性优先。如果未指定,则在可用设备中选择合适的默认值。属性文件的语法在Properties.load
中指定。以下表列出了可用的属性键以及哪些方法考虑它们:
属性键 | 接口 | 受影响的方法 |
---|---|---|
javax.sound.sampled.Clip |
Clip |
getLine(javax.sound.sampled.Line.Info) , getClip() |
javax.sound.sampled.Port |
Port |
getLine(javax.sound.sampled.Line.Info) |
javax.sound.sampled.SourceDataLine |
SourceDataLine |
getLine(javax.sound.sampled.Line.Info) , getSourceDataLine(javax.sound.sampled.AudioFormat) |
javax.sound.sampled.TargetDataLine |
TargetDataLine |
getLine(javax.sound.sampled.Line.Info) , getTargetDataLine(javax.sound.sampled.AudioFormat) |
混音器提供程序
类的完全限定名称。混音器名称与Mixer.Info
的getName
方法返回的String
进行匹配。可以省略类名或混音器名称。如果只指定类名,则尾随的井号是可选的。
如果指定了提供程序类,并且可以成功从已安装的提供程序中检索到它们,将从提供程序中检索Mixer.Info
对象列表。否则,或当这些混音器不提供后续匹配时,将从getMixerInfo()
中检索列表,以包含所有可用的Mixer.Info
对象。
如果指定了混音器名称,则将搜索结果列表中的Mixer.Info
对象:第一个具有匹配名称且其Mixer
提供相应线路接口的对象将被返回。如果找不到匹配的Mixer.Info
对象,或者未指定混音器名称,则将返回结果列表中提供相应线路接口的第一个混音器。
例如,属性javax.sound.sampled.Clip
的值为"com.sun.media.sound.MixerProvider#SunClip"
,当调用getLine
请求Clip
实例时,将产生以下后果:如果类com.sun.media.sound.MixerProvider
存在于已安装混音器提供程序列表中,则将从名称为"SunClip"
的第一个混音器中返回第一个Clip
。如果找不到,则将从指定提供程序的第一个混音器中返回第一个Clip
,而不考虑名称。如果没有,则将从所有混音器列表中的第一个具有名称"SunClip"
的Clip
返回,或者如果找不到,则将从所有混音器列表中找到的第一个Clip
返回。如果也失败,则会抛出IllegalArgumentException
。
- 自从:
- 1.3
- 参见:
-
Field Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic AudioFileFormat
getAudioFileFormat
(File file) 获取指定File
的音频文件格式。static AudioFileFormat
getAudioFileFormat
(InputStream stream) 获取提供的输入流的音频文件格式。static AudioFileFormat
getAudioFileFormat
(URL url) 获取指定URL
的音频文件格式。static AudioFileFormat.Type[]
获取系统提供的支持文件写入的文件类型。static AudioFileFormat.Type[]
getAudioFileTypes
(AudioInputStream stream) 获取系统可以从指定的音频输入流写入的文件类型。static AudioInputStream
getAudioInputStream
(File file) 从提供的File
获取音频输入流。static AudioInputStream
getAudioInputStream
(InputStream stream) 从提供的输入流获取音频输入流。static AudioInputStream
getAudioInputStream
(URL url) 从提供的URL
获取音频输入流。static AudioInputStream
getAudioInputStream
(AudioFormat.Encoding targetEncoding, AudioInputStream sourceStream) 通过转换提供的音频输入流,获取指定编码的音频输入流。static AudioInputStream
getAudioInputStream
(AudioFormat targetFormat, AudioInputStream sourceStream) 通过转换提供的音频输入流,获取指定格式的音频输入流。static Clip
getClip()
获取可用于播放音频文件或音频流的剪辑。static Clip
getClip
(Mixer.Info mixerInfo) 从指定的混音器获取可用于播放音频文件或音频流的剪辑。static Line
获取与指定Line.Info
对象中的描述匹配的线路。static Mixer
getMixer
(Mixer.Info info) 获取请求的音频混音器。static Mixer.Info[]
获取表示当前安装在系统上的一组音频混音器的混音器信息对象数组。static SourceDataLine
getSourceDataLine
(AudioFormat format) 获取可用于以AudioFormat
对象指定的格式播放音频数据的源数据线。static SourceDataLine
getSourceDataLine
(AudioFormat format, Mixer.Info mixerinfo) 从由Mixer.Info
对象指定的混音器提供的源数据线中获取可用于以AudioFormat
对象指定的格式播放音频数据的源数据线。static Line.Info[]
getSourceLineInfo
(Line.Info info) 获取已安装混音器支持的特定类型的所有源线路的信息。static TargetDataLine
getTargetDataLine
(AudioFormat format) 获取可用于以AudioFormat
对象指定的格式录制音频数据的目标数据线。static TargetDataLine
getTargetDataLine
(AudioFormat format, Mixer.Info mixerinfo) 从由Mixer.Info
对象指定的混音器提供的目标数据线中获取可用于以AudioFormat
对象指定的格式录制音频数据的目标数据线。static AudioFormat.Encoding[]
getTargetEncodings
(AudioFormat sourceFormat) 使用安装的格式转换器集合,获取系统可以从具有指定格式的音频输入流获取的编码。static AudioFormat.Encoding[]
getTargetEncodings
(AudioFormat.Encoding sourceEncoding) 使用安装的格式转换器集合,获取系统可以从具有指定编码的音频输入流获取的编码。static AudioFormat[]
getTargetFormats
(AudioFormat.Encoding targetEncoding, AudioFormat sourceFormat) 使用安装的格式转换器集合,获取具有特定编码的格式,并且系统可以从指定格式的流获取的格式。static Line.Info[]
getTargetLineInfo
(Line.Info info) 获取已安装混音器支持的特定类型的所有目标线路的信息。static boolean
isConversionSupported
(AudioFormat.Encoding targetEncoding, AudioFormat sourceFormat) 指示是否可以从具有指定格式的音频输入流获取指定编码的音频输入流。static boolean
isConversionSupported
(AudioFormat targetFormat, AudioFormat sourceFormat) 指示是否可以从具有指定格式的音频输入流获取具有另一指定格式的音频输入流。static boolean
isFileTypeSupported
(AudioFileFormat.Type fileType) 指示系统是否提供指定文件类型的文件写入支持。static boolean
isFileTypeSupported
(AudioFileFormat.Type fileType, AudioInputStream stream) 指示是否可以从指定音频输入流写入指定文件类型的音频文件。static boolean
isLineSupported
(Line.Info info) 指示系统是否支持与指定Line.Info
对象匹配的任何线路。static int
write
(AudioInputStream stream, AudioFileFormat.Type fileType, File out) 将表示指定文件类型的音频文件的字节流写入提供的外部文件。static int
write
(AudioInputStream stream, AudioFileFormat.Type fileType, OutputStream out) 将表示指定文件类型的音频文件的字节流写入提供的输出流。
-
Field Details
-
NOT_SPECIFIED
public static final int NOT_SPECIFIED代表未知数值的整数。此值仅适用于通常不接受负值的有符号量。示例包括文件大小、帧大小、缓冲区大小和采样率。许多Java Sound构造函数接受这些参数的NOT_SPECIFIED
值。其他方法也可能接受或返回此值,如有文档记录。- 参见:
-
-
Method Details
-
getMixerInfo
获取表示当前安装在系统上的一组音频混音器的混音器信息对象数组。- 返回:
- 当前安装的混音器的信息对象数组。如果系统上没有可用的混音器,则返回长度为0的数组。
- 参见:
-
getMixer
获取请求的音频混音器。- 参数:
-
info
- 一个表示所需混音器的Mixer.Info
对象,或者为系统默认混音器的null
- 返回:
- 请求的混音器
- 抛出:
-
SecurityException
- 如果由于安全限制而无法使用请求的混音器 -
IllegalArgumentException
- 如果info对象不代表系统上安装的混音器 - 参见:
-
getSourceLineInfo
获取已安装混音器支持的特定类型的所有源线的信息。- 参数:
-
info
- 一个指定请求信息的Line.Info
对象 - 返回:
-
描述与请求类型匹配的源线的
Line.Info
对象数组。如果不支持匹配的源线,则返回长度为0的数组。 - 参见:
-
getTargetLineInfo
获取已安装混音器支持的特定类型的所有目标线的信息。- 参数:
-
info
- 一个指定请求信息的Line.Info
对象 - 返回:
-
描述与请求类型匹配的目标线的
Line.Info
对象数组。如果不支持匹配的目标线,则返回长度为0的数组。 - 参见:
-
isLineSupported
指示系统是否支持与指定的Line.Info
对象匹配的任何线路。如果任何已安装的混音器支持它,则支持该线路。- 参数:
-
info
- 描述要查询支持的线路的Line.Info
对象 - 返回:
-
如果至少支持一个匹配线路,则返回
true
,否则返回false
- 参见:
-
getLine
获取与指定的Line.Info
对象中的描述相匹配的线路。如果请求一个
DataLine
,并且info
是指定至少一个完全限定音频格式的DataLine.Info
实例,则最后一个将用作返回的DataLine
的默认格式。如果系统属性
javax.sound.sampled.Clip
、javax.sound.sampled.Port
、javax.sound.sampled.SourceDataLine
和javax.sound.sampled.TargetDataLine
被定义,或者它们在文件"sound.properties"中被定义,它们将用于检索默认线路。有关详细信息,请参阅类描述
。如果未设置相应属性,或者属性中请求的混音器未安装或未提供请求的线路,则将查询所有已安装的混音器以获取请求的线路类型。将从提供请求线路类型的第一个混音器返回一条线路。- 参数:
-
info
- 描述所需线路类型的Line.Info
对象 - 返回:
- 请求类型的线路
- 抛出:
-
LineUnavailableException
- 如果由于资源限制而无法使用匹配线路 -
SecurityException
- 如果由于安全限制而无法使用匹配线路 -
IllegalArgumentException
- 如果系统通过任何已安装的混音器不支持至少一条与指定的Line.Info
对象匹配的线路
-
getClip
获取可用于播放音频文件或音频流的剪辑。返回的剪辑将由默认系统混音器提供,或者如果不可能,则由系统中安装的任何其他支持Clip
对象的混音器提供。返回的剪辑必须使用
open(AudioFormat)
或open(AudioInputStream)
方法打开。这是一个使用内部
getMixer
和getLine
的高级方法。如果系统属性
javax.sound.sampled.Clip
被定义,或者它在文件"sound.properties"中被定义,它将用于检索默认剪辑。有关详细信息,请参阅类描述
。- 返回:
- 所需的剪辑对象
- 抛出:
-
LineUnavailableException
- 如果由于资源限制而无法使用剪辑对象 -
SecurityException
- 如果由于安全限制而无法使用剪辑对象 -
IllegalArgumentException
- 如果系统通过任何已安装的混音器不支持至少一个剪辑实例 - 自版本:
- 1.5
- 参见:
-
getClip
从指定的混音器获取可用于播放音频文件或音频流的剪辑。返回的剪辑必须使用
open(AudioFormat)
或open(AudioInputStream)
方法打开。这是一个使用内部
getMixer
和getLine
的高级方法。- 参数:
-
mixerInfo
- 一个表示所需混音器的Mixer.Info
对象,或者为系统默认混音器的null
- 返回:
- 来自指定混音器的剪辑对象
- 抛出:
-
LineUnavailableException
- 如果由于资源限制而无法从此混音器使用剪辑 -
SecurityException
- 如果由于安全限制而无法从此混音器使用剪辑 -
IllegalArgumentException
- 如果系统通过指定的混音器不支持至少一个剪辑 - 自版本:
- 1.5
- 参见:
-
getSourceDataLine
获取可用于以指定的AudioFormat
对象指定的格式播放音频数据的源数据线。返回的线路将由默认系统混音器提供,或者如果不可能,则由系统中安装的任何其他支持匹配的SourceDataLine
对象的混音器提供。返回的线路应使用
open(AudioFormat)
或open(AudioFormat, int)
方法打开。这是一个使用内部
getMixer
和getLine
的高级方法。返回的
SourceDataLine
的默认音频格式将使用format
进行初始化。如果系统属性
javax.sound.sampled.SourceDataLine
被定义,或者它在文件"sound.properties"中被定义,它将用于检索默认源数据线。有关详细信息,请参阅类描述
。- 参数:
-
format
- 指定返回线路支持的音频格式的AudioFormat
对象,或者为任何音频格式的null
- 返回:
-
所需的
SourceDataLine
对象 - 抛出:
-
LineUnavailableException
- 如果由于资源限制而无法使用匹配的源数据线 -
SecurityException
- 如果由于安全限制而无法使用匹配的源数据线 -
IllegalArgumentException
- 如果系统通过任何已安装的混音器不支持通过任何已安装的混音器支持指定音频格式的至少一条源数据线 - 自版本:
- 1.5
- 参见:
-
getSourceDataLine
public static SourceDataLine getSourceDataLine(AudioFormat format, Mixer.Info mixerinfo) throws LineUnavailableException 获取可用于以指定的AudioFormat
对象指定的格式播放音频数据的源数据线,由Mixer.Info
对象指定的混音器提供。返回的线路应使用
open(AudioFormat)
或open(AudioFormat, int)
方法打开。这是一个使用内部
getMixer
和getLine
的高级方法。返回的
SourceDataLine
的默认音频格式将使用format
进行初始化。- 参数:
-
format
- 一个AudioFormat
对象,指定返回线路支持的音频格式,或者为null
表示任何音频格式 -
mixerinfo
- 一个代表所需混音器的Mixer.Info
对象,或者为null
表示系统默认混音器 - 返回:
-
所需的
SourceDataLine
对象 - 抛出:
-
LineUnavailableException
- 如果由于资源限制而无法从指定混音器获取匹配的源数据线路 -
SecurityException
- 如果由于安全限制而无法从指定混音器获取匹配的源数据线路 -
IllegalArgumentException
- 如果指定的混音器不支持至少一个支持指定音频格式的源数据线路 - 自:
- 1.5
- 参见:
-
getTargetDataLine
获取一个目标数据线路,可用于以AudioFormat
对象指定的格式录制音频数据。返回的线路将由默认系统混音器提供,或者如果不可能,则由系统中安装的任何其他支持匹配TargetDataLine
对象的混音器提供。返回的线路应使用
open(AudioFormat)
或open(AudioFormat, int)
方法打开。这是一个使用
getMixer
和getLine
内部的高级方法。返回的
TargetDataLine
的默认音频格式将使用format
进行初始化。如果系统属性
javax.sound.sampled.TargetDataLine
已定义,或者在文件"sound.properties"中定义了它,则将用于检索默认目标数据线路。有关详细信息,请参阅类描述
。- 参数:
-
format
- 一个AudioFormat
对象,指定返回线路支持的音频格式,或者为null
表示任何音频格式 - 返回:
-
所需的
TargetDataLine
对象 - 抛出:
-
LineUnavailableException
- 如果由于资源限制而无法获取匹配的目标数据线路 -
SecurityException
- 如果由于安全限制而无法获取匹配的目标数据线路 -
IllegalArgumentException
- 如果系统不支持通过任何已安装的混音器支持指定音频格式的至少一个目标数据线路 - 自:
- 1.5
- 参见:
-
getTargetDataLine
public static TargetDataLine getTargetDataLine(AudioFormat format, Mixer.Info mixerinfo) throws LineUnavailableException 获取一个目标数据线路,可用于以AudioFormat
对象指定的格式录制音频数据,由Mixer.Info
对象指定的混音器提供。返回的线路应使用
open(AudioFormat)
或open(AudioFormat, int)
方法打开。这是一个使用
getMixer
和getLine
内部的高级方法。返回的
TargetDataLine
的默认音频格式将使用format
进行初始化。- 参数:
-
format
- 一个AudioFormat
对象,指定返回线路支持的音频格式,或者为null
表示任何音频格式 -
mixerinfo
- 一个代表所需混音器的Mixer.Info
对象,或者为null
表示系统默认混音器 - 返回:
-
所需的
TargetDataLine
对象 - 抛出:
-
LineUnavailableException
- 如果由于资源限制而无法从指定混音器获取匹配的目标数据线路 -
SecurityException
- 如果由于安全限制而无法从指定混音器获取匹配的目标数据线路 -
IllegalArgumentException
- 如果指定的混音器不支持至少一个支持指定音频格式的目标数据线路 - 自:
- 1.5
- 参见:
-
getTargetEncodings
获取系统可以从具有指定编码的音频输入流获取的编码,使用安装的格式转换器集。- 参数:
-
sourceEncoding
- 查询支持转换的编码 - 返回:
-
编码数组。如果不支持
sourceEncoding
,则返回长度为0的数组。否则,数组的长度至少为1,表示sourceEncoding
(无需转换)。 - 抛出:
-
NullPointerException
- 如果sourceEncoding
为null
-
getTargetEncodings
获取系统可以从具有指定格式的音频输入流获取的编码,使用安装的格式转换器集。- 参数:
-
sourceFormat
- 查询转换的音频格式 - 返回:
-
编码数组。如果不支持
sourceFormat
,则返回长度为0的数组。否则,数组的长度至少为1,表示sourceFormat
的编码(无需转换)。 - 抛出:
-
NullPointerException
- 如果sourceFormat
为null
-
isConversionSupported
public static boolean isConversionSupported(AudioFormat.Encoding targetEncoding, AudioFormat sourceFormat) 指示是否可以从具有指定编码的音频输入流获取具有指定格式的音频输入流。- 参数:
-
targetEncoding
- 转换后的期望编码 -
sourceFormat
- 转换前的音频格式 - 返回:
-
如果支持转换,则返回
true
,否则返回false
- 抛出:
-
NullPointerException
- 如果targetEncoding
或sourceFormat
为null
-
getAudioInputStream
public static AudioInputStream getAudioInputStream(AudioFormat.Encoding targetEncoding, AudioInputStream sourceStream) 通过转换提供的音频输入流获取指定编码的音频输入流。- 参数:
-
targetEncoding
- 转换后的期望编码 -
sourceStream
- 要转换的流 - 返回:
- 指定编码的音频输入流
- 抛出:
-
IllegalArgumentException
- 如果不支持转换 -
NullPointerException
- 如果targetEncoding
或sourceStream
为null
- 参见:
-
getTargetFormats
public static AudioFormat[] getTargetFormats(AudioFormat.Encoding targetEncoding, AudioFormat sourceFormat) 获取具有特定编码的格式,并且系统可以使用安装的格式转换器集从指定格式的流获取的格式。- 参数:
-
targetEncoding
- 转换后的期望编码 -
sourceFormat
- 转换前的音频格式 - 返回:
- 格式数组。如果不支持指定编码的格式,则返回长度为0的数组。
- 抛出:
-
NullPointerException
- 如果targetEncoding
或sourceFormat
为null
-
isConversionSupported
指示是否可以从具有另一个指定格式的音频输入流获取具有指定格式的音频输入流。- 参数:
-
targetFormat
- 转换后的期望音频格式 -
sourceFormat
- 转换前的音频格式 - 返回:
-
如果支持转换,则返回
true
,否则返回false
- 抛出:
-
NullPointerException
- 如果targetFormat
或sourceFormat
为null
-
getAudioInputStream
public static AudioInputStream getAudioInputStream(AudioFormat targetFormat, AudioInputStream sourceStream) 通过转换提供的音频输入流获取指定格式的音频输入流。- 参数:
-
targetFormat
- 转换后的期望音频格式 -
sourceStream
- 待转换的流 - 返回:
- 所指示格式的音频输入流
- 抛出:
-
IllegalArgumentException
- 如果不支持转换 -
NullPointerException
- 如果targetFormat
或sourceStream
为null
- 参见:
-
getAudioFileFormat
public static AudioFileFormat getAudioFileFormat(InputStream stream) throws UnsupportedAudioFileException, IOException 获取提供的输入流的音频文件格式。流必须指向有效的音频文件数据。此方法的实现可能需要多个解析器来检查流,以确定它们是否支持它。这些解析器必须能够标记流,读取足够的数据以确定它们是否支持流,并将流的读取指针重置为其原始位置。如果输入流不支持这些操作,此方法可能会因IOException
而失败。- 参数:
-
stream
- 应从中提取文件格式信息的输入流 - 返回:
-
描述流音频文件格式的
AudioFileFormat
对象 - 抛出:
-
UnsupportedAudioFileException
- 如果流不指向系统识别的有效音频文件数据 -
IOException
- 如果发生输入/输出异常 -
NullPointerException
- 如果stream
为null
- 参见:
-
getAudioFileFormat
public static AudioFileFormat getAudioFileFormat(URL url) throws UnsupportedAudioFileException, IOException 获取指定URL
的音频文件格式。URL
必须指向有效的音频文件数据。- 参数:
-
url
- 应从中提取文件格式信息的URL
- 返回:
-
描述音频文件格式的
AudioFileFormat
对象 - 抛出:
-
UnsupportedAudioFileException
- 如果URL
不指向系统识别的有效音频文件数据 -
IOException
- 如果发生输入/输出异常 -
NullPointerException
- 如果url
为null
-
getAudioFileFormat
public static AudioFileFormat getAudioFileFormat(File file) throws UnsupportedAudioFileException, IOException 获取指定File
的音频文件格式。File
必须指向有效的音频文件数据。- 参数:
-
file
- 应从中提取文件格式信息的File
- 返回:
-
描述音频文件格式的
AudioFileFormat
对象 - 抛出:
-
UnsupportedAudioFileException
- 如果File
不指向系统识别的有效音频文件数据 -
IOException
- 如果发生I/O异常 -
NullPointerException
- 如果file
为null
-
getAudioInputStream
public static AudioInputStream getAudioInputStream(InputStream stream) throws UnsupportedAudioFileException, IOException 从提供的输入流获取音频输入流。 流必须指向有效的音频文件数据。 此方法的实现可能需要多个解析器来检查流,以确定它们是否支持它。 这些解析器必须能够标记流,读取足够的数据以确定它们是否支持流,并将流的读取指针重置为其原始位置。 如果输入流不支持这些操作,则此方法可能会因IOException
而失败。- 参数:
-
stream
- 应从中构建AudioInputStream
的输入流 - 返回:
-
基于输入流中包含的音频文件数据的
AudioInputStream
对象 - 抛出:
-
UnsupportedAudioFileException
- 如果流不指向系统识别的有效音频文件数据 -
IOException
- 如果发生I/O异常 -
NullPointerException
- 如果stream
为null
- 参见:
-
getAudioInputStream
public static AudioInputStream getAudioInputStream(URL url) throws UnsupportedAudioFileException, IOException 从提供的URL
获取音频输入流。URL
必须指向有效的音频文件数据。- 参数:
-
url
- 应构建AudioInputStream
的URL
- 返回:
-
基于
URL
指向的音频文件数据的AudioInputStream
对象 - 抛出:
-
UnsupportedAudioFileException
- 如果URL
不指向系统识别的有效音频文件数据 -
IOException
- 如果发生I/O异常 -
NullPointerException
- 如果url
为null
-
getAudioInputStream
public static AudioInputStream getAudioInputStream(File file) throws UnsupportedAudioFileException, IOException 从提供的File
获取音频输入流。File
必须指向有效的音频文件数据。- 参数:
-
file
- 应构建AudioInputStream
的File
- 返回:
-
基于
File
指向的音频文件数据的AudioInputStream
对象 - 抛出:
-
UnsupportedAudioFileException
- 如果File
不指向系统识别的有效音频文件数据 -
IOException
- 如果发生I/O异常 -
NullPointerException
- 如果file
为null
-
getAudioFileTypes
获取系统提供的支持文件写入的文件类型。- 返回:
- 唯一文件类型的数组。 如果不支持任何文件类型,则返回长度为0的数组。
-
isFileTypeSupported
指示系统是否提供对指定文件类型的文件写入支持。- 参数:
-
fileType
- 查询写入能力的文件类型 - 返回:
-
如果支持文件类型,则返回
true
,否则返回false
- 抛出:
-
NullPointerException
- 如果fileType
为null
-
getAudioFileTypes
获取系统可以从指定音频输入流写入的文件类型。- 参数:
-
stream
- 查询音频文件类型支持的音频输入流 - 返回:
- 文件类型的数组。 如果不支持任何文件类型,则返回长度为0的数组。
- 抛出:
-
NullPointerException
- 如果stream
为null
-
isFileTypeSupported
指示是否可以从指定文件类型的音频输入流写入音频文件。- 参数:
-
fileType
- 查询写入能力的文件类型 -
stream
- 查询文件写入支持的流 - 返回:
-
如果此音频输入流支持文件类型,则返回
true
,否则返回false
- 抛出:
-
NullPointerException
- 如果fileType
或stream
为null
-
write
public static int write(AudioInputStream stream, AudioFileFormat.Type fileType, OutputStream out) throws IOException 将表示指定文件类型的音频文件的字节流写入提供的输出流。 一些文件类型要求将长度写入文件头;除非提前知道长度,否则无法从头到尾写入这些文件。 如果音频文件类型中的长度为AudioSystem.NOT_SPECIFIED
,则尝试写入此类型的文件将因IOException
而失败。- 参数:
-
stream
- 包含要写入文件的音频数据的音频输入流 -
fileType
- 要写入的音频文件类型 -
out
- 应将文件数据写入的流 - 返回值:
- 写入到输出流的字节数
- 抛出:
-
IOException
- 如果发生输入/输出异常 -
IllegalArgumentException
- 如果系统不支持文件类型 -
NullPointerException
- 如果stream
或fileType
或out
为null
- 参见:
-
write
public static int write(AudioInputStream stream, AudioFileFormat.Type fileType, File out) throws IOException 将表示指定文件类型的音频文件的字节流写入提供的外部文件。- 参数:
-
stream
- 包含要写入文件的音频数据的音频输入流 -
fileType
- 要写入的音频文件类型 -
out
- 要写入文件数据的外部文件 - 返回值:
- 写入到文件的字节数
- 抛出:
-
IOException
- 如果发生I/O异常 -
IllegalArgumentException
- 如果系统不支持文件类型 -
NullPointerException
- 如果stream
或fileType
或out
为null
- 参见:
-