增强音频API
此功能可在Flash和AIR的所有受支持的桌面平台上使用。我们为Flash平台添加了一个新的API,以支持增强的音频。此功能可在所有受支持的桌面平台上使用,,而不是移动平台,Flash和AIR的。新的API仅在ActionScript 3中可用。您必须在您的创作环境中针对Flash 10.3或AIR 2.7 (或更高版本)和SWF 12,并且必须更新您的playerglobal.swc。
影响到以下类:麦克风:向该类中添加了一个新的静态方法,以创建增强麦克风和用于配置增强麦克风选项的读/写属性。MicrophoneEnhancedOptions:这个新类允许您配置增强的麦克风设置。MicrophoneEnhancedMode:这个新的类列举了增强的麦克风操作模式。
您可以在- Flash播放器中声学回波消除的最佳实践中看到这个。
我已经使用这个API(麦克风、MicrophoneEnhancedOptions和MicrophoneEnhancedMode类)开发了一个FMS桌面客户端。这个客户运行良好,没有任何噪音。
但是最近的flex (FLEXsdk4.6)并不支持移动平台的这个API。如何在包括噪音抑制在内的移动平台上增强麦克风。
这是我的源代码:
/?
microphone = Microphone.getEnhancedMicrophone();
if(microphone)
{
var options : MicrophoneEnhancedOptions = new MicrophoneEnhancedOptions();
options.mode = MicrophoneEnhancedMode.FULL_DUPLEX;
options.autoGain = false;
options.echoPath = 128;
options.nonLinearProcessing = true;
microphone.enhancedOptions = options;
microphone.gain = 85;
// set codec to speex
microphone.codec = SoundCodec.SPEEX;
microphone.encodeQuality = 5;
microphone.framesPerPacket = 1;
microphone.rate = 16;
microphone.setUseEchoSuppression(true);
}/
microphone = Microphone.getMicrophone();
if(microphone)
{
//settings
microphone.rate = 16;
microphone.gain = 85;
microphone.setUseEchoSuppression(false);
microphone.setLoopBack( false );
microphone.setSilenceLevel( 0, 20000 );
microphone.codec = SoundCodec.SPEEX;
microphone.encodeQuality = 5;
microphone.framesPerPacket = 1;
}如何使android代码像桌面一样运行?如何实现MicrophoneEnhancedOptions类和MicrophoneEnhancedMode类的功能?
谢谢。
发布于 2012-06-18 11:50:54
这些API很可能是由本机代码支持的,而在android的flash版本中,这些代码根本不存在。
https://stackoverflow.com/questions/11074670
复制相似问题