我正在使用ActionScript在Flash Mobile中开发一个项目.我有一个压缩的wav文件,我需要能够在button Press动作中根据需要进行序列化和播放.下面是压缩wav文件的代码.
mic.removeEventListener(SampleDataEvent.SAMPLE_DATA,micSampleDataHandler); btnRecord.setStyle("icon",recOff); sampleCount++; // save the raw PCM samples as a bare WAV file var wav:ByteArray = new ByteArray(); var writer:WAVWriter = new WAVWriter(); writer.numOfChannels = 1; writer.sampleBitRate = 16; writer.samplingRate = 11025; samples.position = 0; writer.processSamples(wav,samples,11025,1); wav.position = 0; // zip the WAV file var fzip:FZip = new FZip(); fzip.addfile(name + sampleCount.toString(),wav); var zip:ByteArray = new ByteArray(); fzip.serialize(zip); var recSpot:Object = { ID: null,audio: zip,name: "New Audio file " + newRecNum,existsdb: "false" }; newRecNum++; recordings.addItem(recSpot); }
我该怎么做才能播放这个文件,以前真的不必播放压缩文件.最佳答案我不熟悉WAVWriter(这可能有点不合适),但这就是我所知道的.
首先,由于压缩的性质,你不能(据我所知)播放压缩音频文件,句号.您需要先解压缩它.
使用FZIP解压缩后,Google快速搜索了THIS AS3 TUTORIAL.示例程序使用.PNGs,但我认为您可以调整它以使用先前压缩的原始.WAV文件.跳到第5步,获取实际代码. (显然,您需要重写它以使用您的界面.)
在步骤5中,您将不需要DataProvIDer变量,特别是对于组件.您需要将数据加载到其他内容中.如果您播放WAV文件的方法与我的相似(我使用的是as3WAVSound class),您可能希望将数据加载到ByteArray中并进行播放.
你也可能不需要他在步骤10中使用的for循环,因为你的代码似乎是创建一个只有一个WAV文件的ZIP.这大大简化了事情.
无论如何,我希望能回答你的问题!
总结以上是内存溢出为你收集整理的android – 如何在Flash Mobile中播放压缩波形文件全部内容,希望文章能够帮你解决android – 如何在Flash Mobile中播放压缩波形文件所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)