Windows Phone 7: mp3流媒体延迟
本文关键字:流媒体 延迟 mp3 Phone Windows | 更新日期: 2023-09-27 18:08:44
我在windows phone 7 (nokia lumia 800)上有一个音频流问题:
该应用程序是windows phone 7.1,我已经在诺基亚lumia 800 (WP7.8)和lumia 820 (WP8.0)上试用过
我放了一个URL (http://abc.radiostreaming.dk/)到我的播放列表:
AudioTrack track = new AudioTrack(this.streamURI, "FOO", "BAR", "", null);
BackgroundAudioPlayer.Instance.Track = track;
我订阅backgroundaudioplayer . instance . playstatechange与不同的事件处理程序来改变UI(改变按钮在"播放"answers"停止"之间来回切换,并更新"现在播放"-textfield)
当我按play时,UI通过eventandler更新显示一个"缓冲"图标,然后当BackgroundAudioPlayer.Instance.PlayerState更改为PlayState.Playing时,再次将其更改为"播放"。
在诺基亚lumia 820的UI和声音工作如预期,在lumia 800上backgroundaudioplayer . instance . playstatechange着火(更改为"播放"),耳机中有微弱的滴答声,但在音乐开始播放之前有5-6秒的延迟。
延迟当然很烦人(声音在820上几乎立即播放),但如果我能检测到它并相应地更新UI,这是可以接受的,现在只使用
无法工作BackgroundAudioPlayer.Instance.PlayStateChanged.
关于我可以订阅的其他事件,或者如何调整声音开始播放的速度(可能是调整缓冲)?到目前为止还没有成功....)
我做了一个变通:当我得到
BackgroundAudioPlayer.Instance.PlayStateChanged -> PlayState.Playing
检查BackgroundAudioPlayer.Instance.Position。毫秒,如果它是0流并没有真正播放,所以我只是重新检查每100毫秒,然后只有改变UI从"缓冲"到"播放"当BackgroundAudioPlayer.Instance.Position.Milliseconds> 0
它解决了这个问题,但是比您希望的要混乱一点,哦,好吧:)
首先,排除到服务器的连接问题。两个设备都在同一个WiFi连接上吗?如果是这样,请尝试下面这个来自WAUG的流URL,我已经设置了一个大的初始缓冲区刷新:
http://143.226.75.100/waug_mp3_128k
一些设备和软件试图开始解码,但很快意识到他们没有足够的数据。一些解码器比其他解码器需要更多的数据。有没有一种方法可以在游戏前增加缓冲大小?如果没有,您可能需要自己管理这个缓冲区,并选择一个更大的大小。