public static boolean isLineSupported(Line.Info info) {
for (Iterator providers = ProviderService.getProviders(
mixerProviderPath).iterator(); providers.hasNext();) {
try {
MixerProvider pr = (MixerProvider) providers.next();
Mixer.Info[] mixinfos = pr.getMixerInfo();
for (Mixer.Info mixinfo : mixinfos) {
Mixer mix = pr.getMixer(mixinfo);
if (mix.isLineSupported(info)) {
return true;
}
}
} catch (ClassCastException e) {}
}
return false;
}
java类javax.sound.sampled.spi.MixerProvider的实例源码
AudioSystem.java 文件源码
项目:freeVM
阅读 20
收藏 0
点赞 0
评论 0
AudioSystem.java 文件源码
项目:freeVM
阅读 22
收藏 0
点赞 0
评论 0
public static Line.Info[] getSourceLineInfo(Line.Info info) {
List<Line.Info> result = new ArrayList<Line.Info>();
for (Iterator providers = ProviderService.getProviders(
mixerProviderPath).iterator(); providers.hasNext();) {
try {
MixerProvider pr = (MixerProvider) providers.next();
Mixer.Info[] mixinfos = pr.getMixerInfo();
for (Mixer.Info mixinfo : mixinfos) {
Mixer mix = pr.getMixer(mixinfo);
Line.Info[] linfos = mix.getSourceLineInfo(info);
for (Line.Info linfo : linfos) {
result.add(linfo);
}
}
} catch (ClassCastException e) {}
}
Line.Info[] temp = new Line.Info[result.size()];
return result.toArray(temp);
}
AudioSystem.java 文件源码
项目:freeVM
阅读 24
收藏 0
点赞 0
评论 0
public static Line.Info[] getTargetLineInfo(Line.Info info) {
List<Line.Info> result = new ArrayList<Line.Info>();
for (Iterator providers = ProviderService.getProviders(
mixerProviderPath).iterator(); providers.hasNext();) {
try {
MixerProvider pr = (MixerProvider) providers.next();
Mixer.Info[] mixinfos = pr.getMixerInfo();
for (Mixer.Info mixinfo : mixinfos) {
Mixer mix = pr.getMixer(mixinfo);
Line.Info[] linfos = mix.getTargetLineInfo(info);
for (Line.Info linfo : linfos) {
result.add(linfo);
}
}
} catch (ClassCastException e) {}
}
Line.Info[] temp = new Line.Info[result.size()];
return result.toArray(temp);
}
AudioSystem.java 文件源码
项目:freeVM
阅读 23
收藏 0
点赞 0
评论 0
public static boolean isLineSupported(Line.Info info) {
for (Iterator providers = ProviderService.getProviders(
mixerProviderPath).iterator(); providers.hasNext();) {
try {
MixerProvider pr = (MixerProvider) providers.next();
Mixer.Info[] mixinfos = pr.getMixerInfo();
for (Mixer.Info mixinfo : mixinfos) {
Mixer mix = pr.getMixer(mixinfo);
if (mix.isLineSupported(info)) {
return true;
}
}
} catch (ClassCastException e) {}
}
return false;
}
AudioSystem.java 文件源码
项目:openjdk-icedtea7
阅读 22
收藏 0
点赞 0
评论 0
/**
* Like getMixerInfo, but return List
*/
private static List getMixerInfoList(List providers) {
List infos = new ArrayList();
Mixer.Info[] someInfos; // per-mixer
Mixer.Info[] allInfos; // for all mixers
for(int i = 0; i < providers.size(); i++ ) {
someInfos = (Mixer.Info[])
((MixerProvider)providers.get(i)).getMixerInfo();
for (int j = 0; j < someInfos.length; j++) {
infos.add(someInfos[j]);
}
}
return infos;
}
AudioSystem.java 文件源码
项目:OpenJSharp
阅读 23
收藏 0
点赞 0
评论 0
/** Return a MixerProvider of a given class from the list of
MixerProviders.
This method never requires the returned Mixer to do mixing.
@param providerClassName The class name of the provider to be returned.
@param providers The list of MixerProviders that is searched.
@return A MixerProvider of the requested class, or null if none is
found.
*/
private static MixerProvider getNamedProvider(String providerClassName,
List providers) {
for(int i = 0; i < providers.size(); i++) {
MixerProvider provider = (MixerProvider) providers.get(i);
if (provider.getClass().getName().equals(providerClassName)) {
return provider;
}
}
return null;
}
AudioSystem.java 文件源码
项目:OpenJSharp
阅读 22
收藏 0
点赞 0
评论 0
/** Return a Mixer with a given name from a given MixerProvider.
This method never requires the returned Mixer to do mixing.
@param mixerName The name of the Mixer to be returned.
@param provider The MixerProvider to check for Mixers.
@param info The type of line the returned Mixer is required to
support.
@return A Mixer matching the requirements, or null if none is found.
*/
private static Mixer getNamedMixer(String mixerName,
MixerProvider provider,
Line.Info info) {
Mixer.Info[] infos = provider.getMixerInfo();
for (int i = 0; i < infos.length; i++) {
if (infos[i].getName().equals(mixerName)) {
Mixer mixer = provider.getMixer(infos[i]);
if (isAppropriateMixer(mixer, info, false)) {
return mixer;
}
}
}
return null;
}
AudioSystem.java 文件源码
项目:OpenJSharp
阅读 23
收藏 0
点赞 0
评论 0
/** From a List of MixerProviders, return a Mixer with a given name.
This method never requires the returned Mixer to do mixing.
@param mixerName The name of the Mixer to be returned.
@param providers The List of MixerProviders to check for Mixers.
@param info The type of line the returned Mixer is required to
support.
@return A Mixer matching the requirements, or null if none is found.
*/
private static Mixer getNamedMixer(String mixerName,
List providers,
Line.Info info) {
for(int i = 0; i < providers.size(); i++) {
MixerProvider provider = (MixerProvider) providers.get(i);
Mixer mixer = getNamedMixer(mixerName, provider, info);
if (mixer != null) {
return mixer;
}
}
return null;
}
AudioSystem.java 文件源码
项目:OpenJSharp
阅读 23
收藏 0
点赞 0
评论 0
/** From a given MixerProvider, return the first appropriate Mixer.
@param provider The MixerProvider to check for Mixers.
@param info The type of line the returned Mixer is required to
support.
@param isMixingRequired If true, only Mixers that support mixing are
returned for line types of SourceDataLine and Clip.
@return A Mixer that is considered appropriate, or null
if none is found.
*/
private static Mixer getFirstMixer(MixerProvider provider,
Line.Info info,
boolean isMixingRequired) {
Mixer.Info[] infos = provider.getMixerInfo();
for (int j = 0; j < infos.length; j++) {
Mixer mixer = provider.getMixer(infos[j]);
if (isAppropriateMixer(mixer, info, isMixingRequired)) {
return mixer;
}
}
return null;
}
AudioSystem.java 文件源码
项目:jdk8u-jdk
阅读 20
收藏 0
点赞 0
评论 0
/** Return a MixerProvider of a given class from the list of
MixerProviders.
This method never requires the returned Mixer to do mixing.
@param providerClassName The class name of the provider to be returned.
@param providers The list of MixerProviders that is searched.
@return A MixerProvider of the requested class, or null if none is
found.
*/
private static MixerProvider getNamedProvider(String providerClassName,
List providers) {
for(int i = 0; i < providers.size(); i++) {
MixerProvider provider = (MixerProvider) providers.get(i);
if (provider.getClass().getName().equals(providerClassName)) {
return provider;
}
}
return null;
}