我正在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所以我真的不知道这个问题。
任何人都可以提供帮助,这个项目需要快速完成。
感谢。 约翰。
答案 0 :(得分:1)
可能与比特率有关。
我遇到了一些使用Audacity从wav转换过的mp3文件的问题。特定的几个不起作用,所以我回到Audacity并将工作mp3产生的wavs与非工作的wavs进行了比较。我注意到工作的wavs有44100Hz的比特率,非工作有48000Hz。在导出之前将项目速率(左下角)设置为44100Hz,可以毫无问题地导入导入闪存的mp3。
简而言之:
答案 1 :(得分:0)
这是一个奇怪的问题,这是一个简单的代码片段,可以加载和播放MP3声音AS3本身不支持WAV:
//sound object
var sound:Sound = new Sound(new URLRequest("music.mp3"))
var soundChannel:SoundChannel = sound.play();
希望这有帮助:)
答案 2 :(得分:0)
这篇文章有点陈旧,但我想在遇到同样的问题后我会发一个答案。我也在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的任何地方进行。我希望这可以帮助任何遇到这种情况的人。