gpt4 book ai didi

android - 如何在 Flash Mobile 中播放压缩的 wave 文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:46:17 24 4
gpt4 key购买 nike

我正在使用 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(这可能有点离题),但这是我所知道的。

首先,由于压缩的性质,您不能(据我所知)播放压缩的音频文件,句号。您需要先将其解压缩。

Google 快速搜索出现了 THIS AS3 TUTORIAL关于使用 FZIP 解压缩。示例程序使用的是 .PNG,但我假设您可以调整它以使用您之前压缩的原始 .WAV 文件。跳到第 5 步以获得实际代码。 (显然,您需要重写它才能使用您的界面。)

您不需要在第 5 步中使用 DataProvider 变量,因为它专门用于组件。您需要将数据加载到其他内容中。如果您播放 WAV 文件的方法和我的一样(我使用 as3WAVSound class ),您可能希望将数据加载到 ByteArray 中并播放它。

您也可能不需要他在第 10 步中使用的 for 循环,因为您的代码似乎正在创建一个只有一个 WAV 文件的 ZIP。这大大简化了事情。

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

关于android - 如何在 Flash Mobile 中播放压缩的 wave 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20709096/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com