2007年11月26日 星期一

hiChannel 命令列點播器

一時興起就忍不住寫了 hiChannel 命令列點播器 .... >_<
也是利用 GStreamer 來當播放引擎
所以還是要裝一堆有的沒有的才可以使用
如果是 Debian/Ubuntu 的話就裝上

$ sudo aptitude install gstreamer-tools gstreamer0.10-plugins-base gstreamer0.10-plugins-bad gstreamer0.10-plugins-ugly gstreamer0.10-ffmpeg gstreamer0.10-alsa

如果是 Fedora 的話就增加 http://rpm.livna.org
然後裝上

# yum install gstreamer-tools gstreamer-plugins-bad gstreamer-plugins-ugly gstreamer-ffmpeg

最後當然是下載點囉~ ^o^

http://fd.idv.tw/tux/hiChannel.sh

4 則留言:

匿名 提到...

非常實用,不需編譯,不需安裝,直接執行,謝啦,執行中........

張晁睿 提到...

真的非常好用,我改成用mplayer去播放,也沒問題,謝謝你啦

匿名 提到...

你好 我叫阿欽 我想請問你一個問題
因為最近在用藍芽耳機A2DP聽音樂
播放器是用banshee的,我有用一個按鈕就是可以切換藍芽耳機與電腦內建喇叭的功能
主要就是用執行一個script

#!/bin/bash

state=`gconftool –get /system/gstreamer/0.10/default/musicaudiosink | cut -d\ -f1`

if [ $state == "autoaudiosink" ]; then
gconftool –type string –set /system/gstreamer/0.10/default/musicaudiosink “alsasink device=bluetooth”
zenity –info –title=”GStreamer” –text=”Switched to Bluetooth headphones.”
else
gconftool –type string –set /system/gstreamer/0.10/default/musicaudiosink “autoaudiosink”
zenity –info –title=”GStreamer” –text=”Switched to speaker output.”
fi

echo musicaudiosink set to `gconftool –get /system/gstreamer/0.10/default/musicaudiosink`

但這個功能沒有辦法即使切換,要它繼續播到下一首歌或是我重新按播放的功能才會切換到另一個輸出
我在藍牙耳機連線的時候,輸入
# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: ALC662 Analog [ALC662 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0

如果是切換內建speaker時(已經換到下一首歌),變成
card 0: Intel [HDA Intel], device 0: ALC662 Analog [ALC662 Analog]
Subdevices: 0/1
Subdevice #0: subdevice #0

在Subdevices確是有不同,這邊代表就是不同的輸出嗎??
如果我要切換這個Subdevices是否就可以達到即時切換呢?

所以我研究過audio的架構:
■Audio

———————————————————-
│Application │
│ Banshee Amarok │
│ ↓ │
———————————————————-
│Desktop Environment │
│ ↓ ↓ ↓ │
│ GNOME KDE XFCE │
│ │
————————–DBus—————————-
│ │
———————————————————- GStreamer framework解碼器
│Sound Server │
│ ↓ ↓ │
│ ↓ ↓ │
│ ESD aRTs PulseAudio│
———————————————————-
│Kernel │
│ ↓ │
│ ALSA driver │
———————————————————-
│Hardware │
│ ↓ │
│ Soundcard │
———————————————————-
是否是我只控制到Gstreamer解碼器這邊的部份,如果要做到即時的話,是否說要控制到kernel那部份
才可以達到即時切換的功能,還是說從GStreamer這邊就可以做到即時切換的功能 ,謝謝
OS: [Xubuntu] 8.04.1 kernel 2.6.24-19-generic

$4 提到...

感覺這個問題應該是要從 Pulse Audio 下手而不是從 Alsa 這邊來做...
不過這跟 hiChannel.sh 有什麼關係啊... 冏rz