close

安裝套件

sudo apt-get install pulseaudio pulseaudio-utils
sudo apt-get install mplayer
sudo apt-get install libmpg123-dev mpg123

動態切換HDMI or jack輸出

amixer cset numid=3 n
 	n is 0=auto, 1=headphones, 2=hdmi.

測試音源方法

aplay /usr/share/sounds/alsa/Front_Center.wav

執行mplayer + pulseaudio時發生的問題

1. 撥放音樂時會卡

修改/etc/pulse/default.pa

The newer implementation of the PulseAudio sound server uses timer-based audio scheduling instead of the traditional, interrupt-driven approach.

tsched = 0,代表改回interrupt driven

load-module module-udev-detect tsched=0

Reference PulseAudio FAQ

https://wiki.archlinux.org/index.php/PulseAudio/Troubleshooting#Audio_quality


Pulseaudio load module reference:

http://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Modules/#index62h3

https://www.lightbluetouchpaper.org/2013/02/10/fixing-poppingclicking-audio-on-raspberry-pi/


其實中間還有看到別的資料,有看到DBus, 或是跟load module有關等等的,有都做實驗但都沒法解決頓頓的問題

只要加了"tsched=0" 其他應該都不用改

2. 每次播放前會有點點的聲音

mplayer -cache 1024

有些改善,但還是會有點點的聲音

改用mpg123 lib 後好一點 但連續多次撥放最後會卡住

mplayer -cache 1024 -afm mp3lib

最後改成這樣在raspeberry2上執行還算ok

mplayer -cache 8196 -really-quiet -framedrop -af lavcresample=48000

3. 開一個mplayer撥mp3,同時開另一個mplayer撥不同的mp3,但一直開開關關的,最後原本的mplayer會無法撥放

依據http://raspberrypi.stackexchange.com/questions/9795/pulseaudio-sink-stuttering

修改/etc/pulse/default.pa

load-module module-udev-detect tsched=0 tsched_buffer_size=1048576 tsched_buffer_watermark=262144

測試幾次還ok...

2015/5/16測試,發現可以運作是因為pulseaudio看不懂"tsched_buffer_size=1048576 tsched_buffer_watermark=262144"這個參數,所以pulseaudio沒有運作,mplayer是直接調用alsa當音源輸出。所以才沒有卡住! 但這樣的實驗,看來RPI2的ALSA可以混音

Reference

https://linuxacademy.com/blog/linux/tutorial-playing-around-with-mplayer/

arrow
arrow
    文章標籤
    raspberrypi mplayer pulseaudio
    全站熱搜

    Perry Wu 發表在 痞客邦 留言(0) 人氣()