·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]as3.0的sound类常用技巧整理(4)

时间:2013-05-08 17:11CuPlayer.com
问题四 如何实现声音文件从指定位置开始播放 解决方法: 通过设置play()方法的开始时间 可能会有这样的情况:我们想播放一个声音,但是并不是从它的开端开始播放。换句话说,你想把音乐的前面剪切掉一段进行播放。

  问题四
如何实现声音文件从指定位置开始播放
解决方法:
通过设置play()方法的开始时间
可能会有这样的情况:我们想播放一个声音,但是并不是从它的开端开始播放。换句话说,你想把音乐的前面剪切掉一段进行播放。Sound对象为我们提供了一种简单而有效的方法来解决这个问题,让我们能指定声音从什么位置开始播放,精确到毫秒。
如果我们不带任何参数地调用sound对象的play()方法,那么它会从文件的开端开始播放。但是我们还可以在调用的时候添加一个数字类型的参数,指定声音文件从第多少毫秒开始播放。比如:下面的代码将表示从文件的开端向后跳5.5秒开始播放:
_sound.play(5500);
这个方法特别有助于我们解决这样的问题:我们手头的声音文件头部有一些内容是我们不想要的,但是又不好编辑这个声音文件,我们就可以用这个方法来跳过我们不要的部分。
另外一个例子是:我们手头有某人的讲话录音,他在开始的时候说了各部分的要点。现在,允许用户自由选择他们感兴趣的部分。这时,我们就可以把各部分开始的 时间存放在一个数组里,然后通过选择的部分可以从数理找到对应的开始时间(开始位置),再把这个时间传给play()方法。下面是例程:

  1. package { 
  2. import flash.display.Sprite; 
  3. import flash.media.Sound; 
  4. import flash.net.URLRequest; 
  5. public class CuePoints extends Sprite { 
  6. private var _sound:Sound; 
  7. private var _cuePoints:Array; 
  8. public function CuePoints( ) { 
  9. _cuePoints = [0, 10000, 30000, 68000, 120000]; 
  10. _sound = new Sound(new URLRequest(“song.mp3″)); 
  11. //CuPlayer.com从第二点开始播放(第30秒开始) 
  12. playCuePoint(2); 
  13. public function playCuePoint(index:int):void { 
  14. _sound.play(_cuePoints[index]); 

当然,这是一个很不完善的应用程序,具体操作的时候,我们还应该有一些按钮,或者其他的和用户交互的对象,党和用户进行交互的时候把它的索引值(index)传递给上面的playCuePoint()方法就可以了

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器