Ⅰ MP3中的什麼部件實現了隨機播放下一首歌曲用什麼演算法實現的可以從硬體角度(存儲器的邏輯電路門)
一種隨機播放系統及方法,對播放的媒體文件組成的播放列表進行處理,決定該媒體文件的播放狀態。該系統包括:第一緩存器,記錄該播放列表中包含的媒體文件數量;第二緩存器,由多個位組成,該各個位分別對應於該播放列表中的一媒體文件,標示該播放列表中各媒體文件的當前播放狀態;選擇模塊,在執行播放任務時,根據該播放列表中隨機選取一媒體文件;分析模塊,依據該第二緩存器的存儲數據分析該選擇模塊選取的媒體文件的播放狀態;以及播放模塊,用來在該分析模塊的分析結果為該媒體文件未播放過時,播放該媒體文件;本發明的隨機播放系統及方法可實現播放列表中各媒體文件在同一循環中,都能被播放,達到無重復隨機播放的功效。
事實上計算機做不到真正的隨機,它提供的隨機只是基於某種特定演算法的偽隨機。現在廣泛使用的是一種稱作線性同餘的演算法,我向對於它的數學原理樓主你是不關心的,我來通俗的描述一下它的效果。 不可否認存在某一組數具有比較好的隨機性(是偽隨機),假設拿100億個隨機性數據比較好的數據放在一起,組成一個圓圈,那麼我們需要使用隨機數的時候,就"隨便"找圈上的某個位置開始一直取數,就會得到一組偽隨機數了。
Ⅱ 音樂播放器的隨機播放,真的是完全隨機嗎
設計音樂播放器隨機模式是非常有意思的,一般來說有兩種最常見的隨機播放模式
一.播放當前歌曲時才隨機生成下一曲,即完全隨機
為了避免某些歌曲經常重復播放或很難被播放到,並非是盲目的完全隨機下一曲,而是需要分析用戶的播放歷史,有「科學根據」的進行下一曲,需要比較好的演算法進行支撐,最終始於隨機卻超脫隨機隨機
二.將當前list打亂順序,然後依次播放,也就是大家說的偽隨機
這一種隨機模式的目前比較流行的隨機模式,完美解決某些歌曲很難被播放到的情況出現
在第二種隨機模式上又衍生出一些細微的差距,而且各有優劣:
1.打亂後順序為a-z,將此list所有歌曲播放完成後繼續按照a-z的順序播放。雖說是隨機模式,但因為上下曲都是完全固定順序,所以此模式用戶詬病頗多
2.打亂後順序為a-z,將此list所有歌曲播放完成後再次打亂list順序進行播放。對於用戶來說,此模式下一曲是完全隨機,不過兩個相鄰的list容易出現用戶所感知的「重復」播放
上面提到的都是隨機播放在「下一曲」的使用情景,那「上一曲」呢?
在隨機模式下,部分播放器的做法是將上一曲和下一曲的都作為相同的操作響應,即上一曲也是隨機下一曲,想了想,和我的心理預期並不一樣嘛
所以我個人更偏向於「上一曲」操作時是就是回聽上一曲,也就是說我播放的list是有跡可查,聽完一遍後,點擊「上一曲」時還能再聽一次
Ⅲ 音樂播放器的隨機播放真的是完全隨機嗎這個隨機演算法是怎樣的
是隨機的,有時候會讓你感覺反復放那幾首,而且你經常聽的歌曲出現的概率比較大,到也是隨機的,聽得舒服開心就好,望採納。
Ⅳ 演算法:音樂播放器中的隨機播放演算法 如何做到不重復播放
目前大部分的播放軟體設置隨機播放後都會重復的...
想不重復就是每次將播放的歌曲ID存起來,如果下次隨機的ID是以前播放的就重新隨機一個,當存儲已播放列表的大小達到當前歌曲數量的時候,清空這些存儲信息,重新開始隨機
Ⅳ QQ音樂安卓版的隨機播放為什麼播放順序是一定的
因為音樂程序不是真正的亂序的,隨機播放有一個固定的演算法。
因為程序的行為是可預測的,所以軟體實現的「隨機」都是「偽隨機」,也就是根據某個函數(一般是多項式函數)產生一個連續的整數序列,如果這些整數可以基本覆蓋整個值域而且出現的次序沒有明顯的規律,就算是實現了一個偽隨機數演算法。
雖然得到的數字表面上看互不相關,可以稱作「隨機」,但如果用戶也知道這個函數,那麼用戶就可以預測下一個數字,那就不是「隨機」了。
為了避免每次調用函數都產生同樣的序列,就需要每次調用時(根據當前的時間)設置一個「種子」,也就是初值,在不同的時間調用隨機函數獲得的序列也就不同了。
shuffle需要一個均勻性非常好的隨機函數,如果會編程的話,可以試一下:
n(i+1)=(n(i)*101+81)%100可以產生一個非常均勻的[0,99]的隨機序列。
如果想得到「真正的隨機」,只能依靠硬體實現,一般是用雜訊發生器。
Ⅵ 實驗:iPod的「隨機播放」真的隨機嗎
(本文方法不甚嚴格,以娛樂為主。) 當然,與某些每次完全隨機抽取歌曲的播放器不同,iPod總是隨機生成一個列表,然後按順序播放。可是,從我自己的使用經驗看,很有理由懷疑它是否按用戶的喜好做了些手腳。比如,我不止一次地發現歌名相近的曲子--例如Ana (short ver.)和10. Ana連續出現,有時同一張專輯的歌曲也會接連出現。如果你是陰謀論者,還很有可能認為它會把播放次數多(用戶喜歡)的歌曲排在開頭,又或者讓它們穿插出現。畢竟,這可能更符合聽者的胃口。 首先,要收集很多隨機創建的播放列表。這並沒有想像中那麼容易,你手中的iPhone不會乖乖地交出他所有的秘密。所以,我選擇了Windows上的iTunes(假設它們使用相同的隨機演算法),以及用COM來控制它模擬播放。不幸的是,如此的方法速度緩慢,在我的電腦上運轉約10小時後,只收集到了1萬組數據。對於所使用的有178項的音樂庫,顯得有些力不從心--然而結果幾乎已經可以說明問題了。另外,所使用的音樂庫是我真實使用了若干年的結果,其中播放次數有多有少,也有來自不同專輯和歌手的歌曲。 有了1萬份播放列表,我們接著統計每首歌在每個位置上出現的頻率。當你測試洗牌程序時,如果按原本的順序來排列橫軸或縱軸,結果會更加明顯。種種跡象表明,iTunes列表原本的順序便是(按它規則的)字母序。因此我也做這樣的排列。最後,把它染色。 行標題為歌曲名,列標題為出現在某個位置上的次數。隨機數據是用隨機權重排序方法生成的。可以發現,二者的隨機程度不分伯仲--至少沒有出現極高或極低的數據,也沒有比如對角線上奇高的現象。 但我真正關心的是歌曲間的連接關系。那麼,讓我們這樣作圖:橫軸的歌曲緊接在縱軸的歌曲之後播放的頻率,顯然,對角線上為0。注冊或登錄後查看完整內容
Ⅶ 為什麼隨機播放音樂的時候總會有一些音樂隨機不到
是因為所謂的「隨機」其實都是有固定演算法的「
偽隨機
」,也就是說這種隨機總有一些規律,也就不可能讓每一首歌的播放概率都一樣大,也就有些歌經常放不到了
希望採納
Ⅷ 音樂播放器中的隨機播放的原理是什麼
就是產生一個隨機數,播放列表被存儲在一個地方,每個存儲單元存儲一個鏈接,指向對應歌曲的。每個存儲單元都有自己的地址編號,在播放列表地址范圍內產生隨機數,然後讀取這個地址指向的曲目就行了。
大概是這樣。但是生成隨機數的原理是什麼?
Ⅸ 音樂播放器的隨機播放真的是完全隨機嗎這個隨機演算法是怎樣的
會根據你平時聽每一首歌的頻率決定,你聽得次數越多,隨機的幾率越大
Ⅹ 關於MP3播放器隨機播放的問題
你好,我明白你的隨機情況,那個隨機並不是完全隨機。而是按照一定演算法重新生成的播放順序,而且是固定的,當然這個是我們看不到的,比如你的播放列表是10售歌曲,我們我們的播放列表的順序是1234……這個順序播放,我們點隨機後就變成一個2431……,而且是固定的,這個很糟糕,而我們期望的是每次雙擊播放一首歌完全生成一個隨機列表,說明酷狗的隨機演算法不是生成隨機數的,而是一個固定演算法。
要改變這個固定的隨機,你需要改變原來的播放列表,比如刪除一首歌,或者增加一首。
==========================
我用FOOBAR2000試了一下,上面存在錯誤,隨機列表是每次打開播放器就確定的,而不是我們期望的每次雙擊一個歌曲就改變一次列表。所以要改變這個這個隨機列表,只需要關一次播放器,重新打開就可以了。