我在闪光灯中有几个声音对象,我想在这些声音文件中混合不同的点来创建单个杰作并将其保存为mp3。 我在网上看过各种“混音器”应用程序,想知道自己要看哪个区域才能做到这一点。
答案 0 :(得分:1)
要创建音乐或您要创建的任何内容,您必须将wav和mp3文件导入到库中,然后将它们拖到影片区域以将其添加到时间轴中。使用多个图层来帮助组织它们。要测试你的歌曲你可以按Enter键从你前进到结尾的任何帧运行。
如果您在时间轴中选择了声音,请不要忘记您可以应用一些效果。此外,“属性”面板上的“编辑”按钮(默认情况下位于底部)可用于将音频剪辑修剪为您需要的任何内容。
完成后,您必须将flash电影发布到swf。然后你将不得不使用像这样的Swf到Mp3转换器:
http://3d2f.com/programs/25-187-swf-to-mp3-converter-download.shtml
(我不担心这个软件,这只是一个例子)
如果您尝试使用ActionScript 2.0从代码中完成所有这些操作,那么您将面临艰难的前进道路。
基本上,您必须构建一个充满修剪过的声音字节的数组,并将其加载到电影中。然后在onEnterFrame中,您必须在适当的时间调用它们:
(我根本没有测试这个代码,只是为了给你一个基本的想法,哈哈)
var sounds = new Array();
var s0 = new Sound(this);
s0.attachSound("someLinkedSound0");
sounds.push({sound : s0, frame : 100});
var s1 = new Sound(this);
s1.attachSound("someLinkedSound1");
sounds.push({sound : s1, frame : 200});
var s2 = new Sound(this);
s2.attachSound("someLinkedSound2");
sounds.push({sound : s2, frame : 300});
var currentSound = 0;
this.onEnterFrame = function(e) {
if(currentSound < sounds.length && sounds[currentSound].frame == _root.currentFrame) {
sounds[currentSound].start(0,1);
currentSound++;
}
frame++;
}
我的示例使用导入到您的库并“链接”的声音,但您可以通过网址加载声音,只需稍加修改。
如果由于您的应用程序的结构onEnterFrame未被调用,您也可以使用从setInterval调用的方法来完成类似的操作。 我希望有所帮助。
答案 1 :(得分:1)
对于在ActionScript 2中混合声音,请查看this link。这是如何与AS2实现声音混合的精细解释。接下来,您需要查看this link以获取有关该主题的更多信息。
直接从AS2无法将MP3的混音版本保存为MP3。您必须使用一些精心设计的服务器端脚本,该脚本知道混合声音何时启动和停止,并且该信息可以在服务器上生成MP3。棘手,但并非不可能。
或者您可以切换到AS3,您可以create sound at runtime(向下滚动以获取示例)并将结果保存为字节流。
答案 2 :(得分:0)
了解有关Flash SoundChannel,Sound和SoundTransform类的信息。你所要做的就是加载不同的声音(你有关于如何在我链接的flash文档中做到这一点的例子),并根据你的时间线播放声音。每种声音都可以在不同的频道播放,通过这种方式你可以“混合”它们。保持一系列渠道,并随时随地为他们做任何事情。
要保存它们还有一些工作要做,但并非不可能。 Here你可以找到另一个将mp3保存到swf中的例子。其他方法我不能说我知道但是从我所看到的,你可以使用Alchemy并将LAME MP3 Encoder编译为flash库。您还需要一些后端,因为您无法使用闪存下载文件。您必须将它们发送到服务器,然后服务器应该初始化下载。