android – 如何在Flash Mobile中播放压缩波形文件

我正在使用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性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...