gpt4 book ai didi

actionscript-3 - AS3 mp3 导入错误 : The AMF encoding of the arguments cannot exceed 40K

转载 作者:行者123 更新时间:2023-12-04 06:41:32 24 4
gpt4 key购买 nike

注意:我在 Error #2084-The AMF Encoding of the arguments cannot exceed 40K 中看到了另一个问题我的问题是不同的。我的数组不是 0,它小于 40960。

我的代码很简单。我从这个链接得到了这个 mp3 录音 fla:http://www.jordansthings.com/blog/?p=5它使用 shinemp3 编码器。

我只是想播放录制的声音而不是保存它。所以我在保存录制文件的按钮中添加了以下内容:

private function onWavClick(e:MouseEvent)
{
// WRITE ID3 TAGS
var sba:ByteArray = mp3Encoder.mp3Data;
sba.position = sba.length - 128
sba.writeMultiByte("TAG", "iso-8859-1");
sba.writeMultiByte("Microphone Test 1-2, 1-2 "+String.fromCharCode(0), "iso-8859-1"); // Title
sba.writeMultiByte("jordansthings "+String.fromCharCode(0), "iso-8859-1"); // Artist
sba.writeMultiByte("Jordan's Thingz Bop Volume 1 "+String.fromCharCode(0), "iso-8859-1"); // Album
sba.writeMultiByte("2010" + String.fromCharCode(0), "iso-8859-1"); // Year
sba.writeMultiByte("www.jordansthings.com " + String.fromCharCode(0), "iso-8859-1");// comments
sba.writeByte(57);

//new FileReference().save(sba, "FlashMicrophoneTest.mp3") // this saves the file. I don't need it.
// my addition
var snd:Sound = new Sound();
var channel:SoundChannel = new SoundChannel();
trace(sba.length);
snd.loadCompressedDataFromByteArray(sba,sba.length);

channel = snd.play();
}

此外:即使这可行...我无法加载大于 40K 的数组???

最佳答案

在调用 loadCompressedDataFromByteArray 之前,您应该将 ByteArray 的位置设置为 0。例如:

sba.position = 0;
snd.loadCompressedDataFromByteArray(sba,sba.length);

我注意到在我的应用程序中,ByteArray 上的 bytesAvailable 为 0。这是因为 ByteArray 上的位置位于 ByteArray 的末尾。错误消息令人困惑,因为它说你超过了 40K,而你没有。应该说没有什么可以从 ByteArray 加载。

此外,我可以确认我可以加载大于 40K 的 ByteArray。我使用 126KB mp3 ByteArray 进行了测试。

关于actionscript-3 - AS3 mp3 导入错误 : The AMF encoding of the arguments cannot exceed 40K,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17770533/

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