微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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.这大大简化了事情.

无论如何,我希望能回答你的问题!

原文地址:https://www.jb51.cc/android/430977.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐