gpt4 book ai didi

actionscript-3 - Flash/AS3播放器如何读取mp3文件的长度?

转载 作者:行者123 更新时间:2023-12-03 02:11:18 26 4
gpt4 key购买 nike

我在整合在一起的应用程序中内置了一个AS3音乐播放器。它几乎可以与我使用过的每个文件完美配合,但是其中一个文件会在早期停止。该文件长约56秒,播放器停在约44秒处。我正在使用trace来显示长度,对于其他每首歌曲,长度都是正确的。在这种情况下,跟踪显示的时间大约是44秒而不是56秒。这是我用来加载文件的代码:

length = 0;
request = new URLRequest(fileAddress);
track = new Sound();
track.load(request);
track.addEventListener(Event.COMPLETE, TrackLoaded);

这是TrackLoaded函数:
private function TrackLoaded(e:Event):void{
length = track.length;
if (playWhenLoaded == true){
trackChannel = track.play(0);
trackChannel.addEventListener(Event.SOUND_COMPLETE, TrackFinishedPlaying);
playWhenLoaded = false;
}

与其他文件完美配合。我想念什么?

最佳答案

您愿意将这个56秒的MP3托管在某个地方进行下载和分析吗?或者,如果您自己可以通过Hexeditor检查 header 信息。我怀疑两件事之一:

1) header 中嵌入的时间长度不正确,Flash将其作为最终持续时间,然后在此处停止。毕竟为什么还要读取剩余的字节?它们可能只是元数据而不是音频样本除了真实持续时间外还有什么编码器?因此,即使您的耳朵知道其不正确,也可以将其作为最终持续时间。

2)MP3采样率/比特率问题:请考虑这一问题MP3是什么采样率?根据工作的MP3检查采样率。这些声音还是您自己创造的?我要求确认您为每个文件都设置了相同的设置,但是这个设置不起作用吗?

无论如何,我认为您可以通过重新编码来解决此特定的MP3。也许先另存为WAV或AIFF,然后获取新的未压缩音频,然后转换回具有采样率44100 khz +立体声+恒定比特率的MP3(避免使用变量B。如果您不希望出现问题,请像 hell 一样收费)

检查并修复以上任何一个问题都可以使您正确地解析MP3。希望能帮助到你

关于actionscript-3 - Flash/AS3播放器如何读取mp3文件的长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23746902/

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