• 10857阅读
  • 2回复

phonon使用mplayer做后端,不能播放音乐 [复制链接]

上一主题 下一主题
离线marxdenl
 
只看楼主 倒序阅读 楼主  发表于: 2009-12-02
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
在运行example\phonon\qmusicplayer例子时,当加入mp3文件,提示:
“An error occurred when attempting to write to MPlayer.For example, MPlayer may not be running, or it may have closed its input channel”
请各位帮忙看看,谢谢!


系统环境说明:

操作系统:fedora 12
Qt环境:    Qt 4.6.0
phonon-backend: libphonon_mplayer.so (通过svn co svn://anonsvn.kde.org/home/kde/trunk/playground/multimedia/phonon-backends/mplayer下载的源代码后编译)
MPlayer: MPlayer-1.0rc2

终端打印的信息:
(打开mp3文件前)
[dlw@dlw qmusicplayer]$ ./qmusicplayer
objectDescriptionIndexes
objectDescriptionProperties
objectDescriptionIndexes
objectDescriptionProperties
subtitleAdded
subtitleChanged New current subtitle: "None"
startConnectionChange
startConnectionChange Node: Phonon::MPlayer::AudioOutput
startConnectionChange Node: Phonon::MPlayer::MediaObject
connectNodes Phonon::MPlayer::MediaObject Phonon::MPlayer::AudioOutput
endConnectionChange
endConnectionChange Node: Phonon::MPlayer::AudioOutput
endConnectionChange Node: Phonon::MPlayer::MediaObject
sendMPlayerCommand Error: MPlayer process not running


(打开mp3文件后)
subtitleAdded
subtitleChanged New current subtitle: "None"
setSource Source: "/home/dlw/Music/mxshf.mp3"
loadMedia "/home/dlw/Music/mxshf.mp3"
Config Config file: "/home/dlw/.config/phonon-mplayer/phonon-mplayer.conf"
start Process started: "mplayer" "-identify -frames 0 -vo null -ao null /home/dlw/Music/mxshf.mp3"
MPlayer: "MPlayer 1.0rc2-4.4.0 (C) 2000-2007 MPlayer Team"
parse MPlayer version: "1.0rc2"
MPlayer: "CPU: AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ (Family: 15, Model: 75, Stepping: 2)"
MPlayer: "CPUflags:  MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1"
MPlayer: "Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE SSE2"
MPlayer: "Playing /home/dlw/Music/mxshf.mp3."
MPlayer: "ID_AUDIO_ID=0"
MPlayer: "Audio file file format detected."
MPlayer: "Clip info:"
MPlayer: "Title: 11.ʱ"
parseLine Clip title: "11.ʱ"
MPlayer: "ID_CLIP_INFO_NAME0=Title"
MPlayer: "ID_CLIP_INFO_VALUE0=11.ʱ"
MPlayer: "Artist:"
MPlayer: "ID_CLIP_INFO_NAME1=Artist"
MPlayer: "ID_CLIP_INFO_VALUE1="
MPlayer: "Album: ˽(¸+Live CD)"
parseLine Clip album: "˽(¸+Live CD)"
MPlayer: "ID_CLIP_INFO_NAME2=Album"
MPlayer: "ID_CLIP_INFO_VALUE2=˽(¸+Live CD)"
MPlayer: "Year: 2008"
parseLine Clip date: "2008"
MPlayer: "ID_CLIP_INFO_NAME3=Year"
MPlayer: "ID_CLIP_INFO_VALUE3=2008"
MPlayer: "Comment: -=[ RiP BY MUJi ]=-"
parseLine Clip comment: "-=[ RiP BY MUJi ]=-"
MPlayer: "ID_CLIP_INFO_NAME4=Comment"
MPlayer: "ID_CLIP_INFO_VALUE4=-=[ RiP BY MUJi ]=-"
MPlayer: "Track: 11"
parseLine Clip track: "11"
MPlayer: "ID_CLIP_INFO_NAME5=Track"
MPlayer: "ID_CLIP_INFO_VALUE5=11"
MPlayer: "Genre: Other"
parseLine Clip genre: "Other"
MPlayer: "ID_CLIP_INFO_NAME6=Genre"
MPlayer: "ID_CLIP_INFO_VALUE6=Other"
MPlayer: "ID_CLIP_INFO_N=7"
MPlayer: "ID_FILENAME=/home/dlw/Music/mxshf.mp3"
MPlayer: "ID_DEMUXER=audio"
MPlayer: "ID_AUDIO_FORMAT=85"
MPlayer: "ID_AUDIO_BITRATE=160000"
MPlayer: "ID_AUDIO_RATE=44100"
MPlayer: "ID_AUDIO_NCH=0"
MPlayer: "ID_LENGTH=330.00"
parseLine Media total time: 330000
MPlayer: "=========================================================================="
MPlayer: "Opening audio decoder: [mp3lib] MPEG layer-2, layer-3"
MPlayer: "AUDIO: 44100 Hz, 2 ch, s16le, 128.0 kbit/9.07% (ratio: 16000->176400)"
MPlayer: "ID_AUDIO_BITRATE=128000"
MPlayer: "ID_AUDIO_RATE=44100"
MPlayer: "ID_AUDIO_NCH=2"
MPlayer: "Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3)"
MPlayer: "=========================================================================="
MPlayer: "AO: [null] 44100Hz 2ch s16le (2 bytes per sample)"
MPlayer: "ID_AUDIO_CODEC=mp3"
MPlayer: "Video: no video"
parseLine Video: false
MPlayer: "Starting playback..."
stateChangedInternal PlayingState
sendCommand Command: "volume 100 1"
MPlayer: "Exiting... (End of file)"
parseLine End of file detected
finished Bytes still available: 0
finished Process ended: exitCode: 0 exitStatus: 0
finished MPlayer process exited normally
stateChangedInternal StoppedState
setSource Source: "/home/dlw/Music/mxshf.mp3"
loadMedia "/home/dlw/Music/mxshf.mp3"
endOfFileReached aboutToFinish()
start Process started: "mplayer" "-identify -frames 0 -vo null -ao null /home/dlw/Music/mxshf.mp3"
MPlayer: "MPlayer 1.0rc2-4.4.0 (C) 2000-2007 MPlayer Team"
MPlayer: "CPU: AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ (Family: 15, Model: 75, Stepping: 2)"
MPlayer: "CPUflags:  MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1"
MPlayer: "Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE SSE2"
MPlayer: "Playing /home/dlw/Music/mxshf.mp3."
MPlayer: "ID_AUDIO_ID=0"
MPlayer: "Audio file file format detected."
MPlayer: "Clip info:"
MPlayer: "Title: 11.ʱ"
parseLine Clip title: "11.ʱ"
MPlayer: "ID_CLIP_INFO_NAME0=Title"
MPlayer: "ID_CLIP_INFO_VALUE0=11.ʱ"
MPlayer: "Artist:"
MPlayer: "ID_CLIP_INFO_NAME1=Artist"
MPlayer: "ID_CLIP_INFO_VALUE1="
MPlayer: "Album: ˽(¸+Live CD)"
parseLine Clip album: "˽(¸+Live CD)"
MPlayer: "ID_CLIP_INFO_NAME2=Album"
MPlayer: "ID_CLIP_INFO_VALUE2=˽(¸+Live CD)"
MPlayer: "Year: 2008"
parseLine Clip date: "2008"
MPlayer: "ID_CLIP_INFO_NAME3=Year"
MPlayer: "ID_CLIP_INFO_VALUE3=2008"
MPlayer: "Comment: -=[ RiP BY MUJi ]=-"
parseLine Clip comment: "-=[ RiP BY MUJi ]=-"
MPlayer: "ID_CLIP_INFO_NAME4=Comment"
MPlayer: "ID_CLIP_INFO_VALUE4=-=[ RiP BY MUJi ]=-"
MPlayer: "Track: 11"
parseLine Clip track: "11"
MPlayer: "ID_CLIP_INFO_NAME5=Track"
MPlayer: "ID_CLIP_INFO_VALUE5=11"
MPlayer: "Genre: Other"
parseLine Clip genre: "Other"
MPlayer: "ID_CLIP_INFO_NAME6=Genre"
MPlayer: "ID_CLIP_INFO_VALUE6=Other"
MPlayer: "ID_CLIP_INFO_N=7"
MPlayer: "ID_FILENAME=/home/dlw/Music/mxshf.mp3"
MPlayer: "ID_DEMUXER=audio"
MPlayer: "ID_AUDIO_FORMAT=85"
MPlayer: "ID_AUDIO_BITRATE=160000"
MPlayer: "ID_AUDIO_RATE=44100"
MPlayer: "ID_AUDIO_NCH=0"
MPlayer: "ID_LENGTH=330.00"
parseLine Media total time: 330000
MPlayer: "=========================================================================="
MPlayer: "Opening audio decoder: [mp3lib] MPEG layer-2, layer-3"
MPlayer: "AUDIO: 44100 Hz, 2 ch, s16le, 128.0 kbit/9.07% (ratio: 16000->176400)"
MPlayer: "ID_AUDIO_BITRATE=128000"
MPlayer: "ID_AUDIO_RATE=44100"
MPlayer: "ID_AUDIO_NCH=2"
MPlayer: "Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3)"
MPlayer: "=========================================================================="
MPlayer: "AO: [null] 44100Hz 2ch s16le (2 bytes per sample)"
MPlayer: "ID_AUDIO_CODEC=mp3"
MPlayer: "Video: no video"
parseLine Video: false
MPlayer: "Starting playback..."
stateChangedInternal PlayingState
sendCommand Command: "volume 100 1"
MPlayer: "Exiting... (End of file)"
parseLine End of file detected
error Error: QProcess::WriteError
stateChangedInternal ErrorState
finished Bytes still available: 0
finished Process ended: exitCode: 0 exitStatus: 0
finished MPlayer process exited normall


离线marxdenl
只看该作者 1楼 发表于: 2009-12-02
刚才自己写了个小的测试程序,先给出文件名可以播放,怀疑是后端phonon-mplayer的问题,不知道那位能帮忙解答一下。谢谢!


#include <QtGui>
#include <Phonon/MediaObject>
#include <Phonon/BackendCapabilities>

int main(int argv, char **args)
{
    QApplication app(argv, args);
    
    Phonon::MediaObject *music =
         Phonon::createPlayer(Phonon::MusicCategory,
                              Phonon::MediaSource("/home/dlw/Music/mxshf.mp3"));
                            
     music->play();

    return app.exec();
}
离线michael20

只看该作者 2楼 发表于: 2010-03-06
请问楼主这个问题解决了吗? 我也遇到这个问题··
快速回复
限100 字节
 
上一个 下一个