【问题标题】:Flash CS6 Importing soundsFlash CS6 导入声音
【发布时间】:2012-11-27 20:47:53
【问题描述】:
我正在处理 CS6 中的 Flash 项目,需要将声音导入到我的库中,但我遇到了无穷无尽的问题。我在 Actionscript 3.0 中使用外部文件(例如,我不能执行 URLRequest,因为它不能在外部工作,需要导入)
我正在使用一种应该可以工作的声音,一些错误是它不能超过 160kbps,这在 MP3 文件中只有 32。我将它转换为 AIFF,没有成功,是 WAV?没有成功。
如果它是 MP3,我只会得到“无法导入”
如果是 AIFF 或 WAV,我会收到“一个或多个文件未导入,因为读取它们时出现问题”
Adobe 建议您需要 160kbps 以下的文件,都设置为 32kbps 以确保安全。
另一个建议是您需要 Quicktime 7.7.1(或更新版本)和 iTunes 10.5.5.3(或更新版本)才能处理 MP3 文件。我有 Quick 7.7.3 和 iTunes 11.0,所以我真的不知道这个问题。
谁能帮忙,这个项目需要尽快完成。
谢谢。
约翰。
【问题讨论】:
标签:
actionscript-3
flash
flash-cs6
【解决方案1】:
这是一个奇怪的问题,这里有一个简单的代码 sn-p 加载和播放 MP3 声音 AS3 本身不支持 WAV:
//sound object
var sound:Sound = new Sound(new URLRequest("music.mp3"))
var soundChannel:SoundChannel = sound.play();
希望有帮助:)
【解决方案2】:
这篇文章有点老了,但我想在遇到同样的问题后我会发布一个答案。我也在 CS6 中使用 Flash Pro。您要做的是将声音嵌入到您的 FLA 中,这样当您的 SWF 被编译时,声音就会随之而来。 Khaled 的回答很好,但这个问题需要更多的 TLC。
对我有用的是获得一个编辑声音剪辑的应用程序。我下载了开源“Audacity”。在 Audacity 的左下角,您可以编辑项目速率。将其降至约 1600 或更低。然后保存项目并将声音导出为 mp3。
最后,确保您的声音剪辑与您的 FLA 位于同一文件夹中。导入您的 FLA(现在应该可以使用)并通过右键单击库中的声音,转到属性来导出您的声音以用于操作脚本。将类的名称更改为您想要的任何名称(至少从类名中删除“.mp3”)。
然后使用以下代码(不同于典型的声音 URL 加载器):
//sound is a constructor variable under your document class
public class DocumentClass extends MovieClip
{
var yourSound:yourSoundClass;
public function DocumentClass()
{
init();
}
function init():void
{
yourSound = new yourSoundClass();
}
}
然后使用 yourSound.play() 播放您的声音;这种技术会将您的声音嵌入到 SWF 中,因此无论 SWF 走到哪里,它都会去哪里。我希望能帮助任何遇到这个问题的人。
【解决方案3】:
可能与比特率有关。
我遇到了一些使用 Audacity 从 wav 转换而来的 mp3 文件的问题。这是一些特定的不起作用的,所以我回到 Audacity 并将产生工作 mp3 的 wav 与不工作的 wav 进行了比较。我注意到工作 wav 的比特率为 44100Hz,非工作 wav 的比特率为 48000Hz。在导出之前将项目速率(左下角)设置为 44100Hz,生成的 mp3 可以毫无问题地导入到 flash 中。
简而言之:
- 48000 Hz = 淘气
- 44100 Hz = 不错