【问题标题】:Sequencing sounds into a ByteArray seamlessly - flash, as3将声音无缝排序到 ByteArray - flash, as3
【发布时间】:2013-08-02 15:17:05
【问题描述】:

我正在为一个视频创建配乐,该视频由一个介绍声音片段、一个循环中间片段和一个结尾片段组成。我需要将这些动态写入 ByteArray,然后将它们与位图结合起来制作视频。它正在工作,除了在视频输出中,我在介绍声音结束和循环声音开始之间有一个微小的延迟(音频文件没有任何静音,它们是无缝的) - 谁能告诉我如何避免这种情况? (_soundIntro、_soundLoop 和 _soundEnd 是嵌入的音频文件。)

var baAudio:ByteArray = new ByteArray();
var baAudioIntro:ByteArray = new ByteArray();
var baAudioLoop:ByteArray = new ByteArray();
var baAudioEnd:ByteArray = new ByteArray();

var totalLength:Number = (_bitmaps.length / FLV_FRAMERATE) * 44000;
var loopLength:Number = totalLength - (_soundIntro.length * 44.1) - (_soundEnd.length * 44.1);

_soundIntro.extract(baAudioIntro, _soundIntro.length * 44.1);
_soundLoop.extract(baAudioLoop, loopLength);
_soundEnd.extract(baAudioEnd, _soundEnd.length * 44.1);

baAudio.writeBytes(baAudioIntro);
baAudio.writeBytes(baAudioLoop);
baAudio.writeBytes(baAudioEnd);

【问题讨论】:

  • 刚刚更新了我的代码 - 它可以工作,但我在每个音频部分之间仍然有一点差距。
  • 嗯听起来可能是这样的:netalive.org/swsu/archives/2007/01/… - 等待 wav 文件进行测试!
  • Flash 不是做这类事情的最佳语言,它不够强大。您应该尝试 Processing 或 OpenFrameworks。

标签: actionscript-3 audio bytearray


【解决方案1】:

确实,答案是 Flash 之外的 .mp3 编码往往会在音频剪辑的开头和结尾留下间隙,从而阻止无缝循环/过渡 (http://www.netalive.org/swsu/archives/2007/01/gapless_mp3_loops_in_flash_1.html) 我切换到 .wav 文件,导入到 Flash(从而让 Flash 处理编码)并解决了问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-17
    • 2011-08-17
    • 2016-08-08
    • 1970-01-01
    相关资源
    最近更新 更多