關於Windows Phone平台音樂播放的的技術調研


希望看到這篇文章的開發者能提供你們的想法,讓我們一起來探討一款wp平台上面一款能流暢播放、能流暢拖拽進入條、只發一次請求就可以緩存的最好的播放器。希望大家能對我下面遇到的問題作出回答。

現在出了Windows Phone版本的音樂的主流軟件有:

1、多米音樂:這個應該是目前Windows Phone平台國內最好的軟件了,不管是從軟件的更新進度還是技術上的實現都處於領先地位;因為它使用了AudioPlaybackAgent和AudioStreamAgent結合的技術實現;

2、酷我音樂:酷我只能排第二了,因為他的技術上實現的偷了點懶只使用了AudioPlaybackAgent;

3、豆瓣FM:豆瓣只能說終於出官方版本了,以前有很多個人開發者的版本,從豆瓣FM的設計界面來看投入也不是很大,感覺只是為了發個版本。

4、百度音樂、qq音樂、唱吧:這些都可以滾粗,簡直是傷了我們用戶的心,百度和qq簡直是敷衍了事,哎虧我們每天給他們的千億市值作貢獻,還有就是唱吧,我真不知道說啥 這樣的版本也好意思發出來,居然連AudioPlaybackAgent都沒使用,意味着你手機鎖屏或者按home鍵他就會播放停止。

還有一些個人開發者開發了些版本:

1、蝦米音樂:這個應該是個人開發者里面開發的最好的了,可以和正式版本媲美;作者微博@想要放羊的兔子

2、天天動聽:感覺開發者在界面的設計上還要改進,作者微博@小飛飛快飛

 

下面來說說技術實現,因為我也是第一次調研希望大家多多發表意見:

一般播放的做法:

就是使用AudioPlaybackAgent,這樣的話做法很簡單只需要將AudioTrack賦值給BackgroundAudioPlayer.Instance.Track就可以了其他的一切善后工作都交給系統了,

這樣的做法一個最大的弊端:

1、就是我們在聽完歌曲后,不能將歌曲緩存下來,但是不是也不是沒有辦法,我們可以在歌曲聽完再請求一次將歌曲下載緩存在本地,避免下次再重新請求,

因為這樣做的話我們的所有權全部就交給系統了,我們只能做兩次請求才能將歌曲緩存下來,這就意味着我聽一首歌曲的話我就必須請求兩次,手機必須走兩遍流量

這樣做不是不好,是因為我活在天朝,流量貴呀。再說我們都是負責人的程序員呀,我們要給我們的用戶爭取福利才是王道呀。

好處就是:

1、實現簡單,一般不會出莫名的異常:

2、播放進度條可以隨意拖動,反應也快;

 

然后我覺得高級點的做法就是使用AudioPlaybackAgent和AudioStreamAgent結合的技術實現;

這樣實現的原理就是,如果歌曲第一次請求我們在創建AudioTrack的時候我們將source一定要設置為null因為這樣它才會進入AudioStreamAgent的OnBeginStreaming,

這樣我們就可以在里面使用streamer.SetSource(Mp3MediaStreamSource);這樣我們在設置流的時候,將歌曲緩存下來,這樣就可以實現我們的只請求一次。如果我們已經

緩存了音樂在本地的話我們只需要使用AudiaoTrack創建實例的時候將本地存儲中的url賦值給source就可以在AudioPlaybackAgent播放,這樣我們就不需要再去請求了。

不過這樣的實現有幾個弊端:

1、實現起來比較麻煩,需要用到ManageredMediaHelper 

2、最大的問題是我在實現拖動進度條的時候會出現相應很慢的情況,有時候拖動一次需要一兩分鍾才能反應過來(多米音樂也有這個問題),特別是你往前拖拽了進度條然后再往后拖動,

簡直會讓你等到心都量了。

3、還有就是有實現你會發現你點擊一首歌的時候,會出現不能播放的情況,你也不知道哪里出問題了,反正就是不能播放我跟蹤了很久都沒有發現,需要重新選擇才能播放。

 

希望看到這篇文章的開發者能提供你們的想法,讓我們一起來探討一款wp平台上面一款能流暢播放、能流暢拖拽、只請求一便流量的wp最好的播放器。希望大家能對我上面遇到的問題作出回答。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM