首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么在闪存中暂停MP3流时会有延迟

为什么在闪存中暂停MP3流时会有延迟
EN

Stack Overflow用户
提问于 2012-10-05 15:06:18
回答 1查看 189关注 0票数 1

我有这个代码来流式传输一个mp3文件:

代码语言:javascript
复制
var isPlaying:Boolean;
var pausePoint:Number;

var soundChannel:SoundChannel = new SoundChannel();
var sound:Sound = new Sound( new URLRequest( 'mp3file.mp3' ) );
var volumeAdjust:SoundTransform = new SoundTransform();

soundChannel = sound.play();
isPlaying = true;

function clickPlayPause(evt:MouseEvent) {

    if (isPlaying) 
    {
       pausePoint = soundChannel.position;
       soundChannel.stop();
       //hide pause sign
       control_mc.play_btn.pausee.alpha = 0;
       //show play sign
       control_mc.play_btn.playy.alpha = 1;
       isPlaying = false;

    } else {

        soundChannel = sound.play(pausePoint);
        isPlaying = true;
       //hide play sign
       control_mc.play_btn.playy.alpha = 0;
       //show pause sign
       control_mc.play_btn.pausee.alpha = 1;

    }
}

function clickStop(evt:MouseEvent) {
    if (isPlaying) {
        soundChannel.stop();
        isPlaying = false;
    }
    pausePoint = 0.00;
}

如您所见,上面的代码还包括一些事件处理函数来处理我的play/pause按钮。这一切都正常,但音乐真正停止播放需要两秒钟的时间。重新启动也需要一段时间。有人知道这是为什么吗?我该如何修复它呢?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2012-10-05 15:33:56

Greensock tweener有淡入和淡出音频的功能,这将帮助你在听到音频文件时隐藏滞后。

导入Greensock补间并激活插件

代码语言:javascript
复制
import com.greensock.*;
import com.greensock.plugins.*;


TweenPlugin.activate([VolumePlugin]);

然后

代码语言:javascript
复制
if(palying){
   TweenLite.to(soundChannel, .5, {volume:0});
}else{
   TweenLite.to(soundChannel, .5, {volume:1});
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12741257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档