我正在尝试使用这些管道在Mac OS X Mavericks(VirtualBox)上播放mp3音频:
gst-launch-1.0 playbin uri = file:///path/to/test.mp3
gst-launch-1.0 filesrc location = test.mp3! decodebin! audioconvert! 听觉样本! autoaudiosink
gst-launch-1.0 uridecodebin uri = file:///path/to/test.mp3! audioconvert!听觉样本! autoaudiosink
但总是得到这个输出:
将管道设置为PAUSED ...
0:00:00.032003000 4120 0x7fe62bcd4900 WARN basesrc gstbasesrc.c:3470:void gst_base_src_start_complete(GstBaseSrc *,GstFlowReturn):pad尚未激活 0:00:00.033290000 4120 0x7fe62bcd4900 WARN basesrc gstbasesrc.c:3470:void gst_base_src_start_complete(GstBaseSrc *,GstFlowReturn):pad尚未激活 管道是PREROLLING ......
0:00:00.106320000 4120 0x7fe62c032140警告osxaudiosink gstosxaudiosink.c:601:gst_osx_audio_sink_allowed_caps:无法识别的通道:-1
0:00:00.106584000 4120 0x7fe62c032140 WARN osxaudiosink gstosxaudiosink.c:601:gst_osx_audio_sink_allowed_caps:无法识别的通道:-1
0:00:00.128755000 4120 0x7fe62c032140警告audioresample gstaudioresample.c:1537:gboolean plugin_init(GstPlugin *):Orc禁用,不能基准测试int与浮点重采样器
0:00:00.129217000 4120 0x7fe62c032140警告 GST_PERFORMANCE gstaudioresample.c:1540:gboolean plugin_init(GstPlugin *): orc已禁用,未执行基准测试
0:00:00.133383000 4120 0x7fe62c032140警告baseparse gstbaseparse.c:3264:void gst_base_parse_loop(GstPad *):错误:流停止,原因未协商
0:00:00.133718000 4120 0x7fe62c032140 WARN队列gstqueue.c:860:gboolean gst_queue_handle_sink_event(GstPad *,GstObject *,GstEvent *):错误:内部数据流错误。
错误:来自element / GstPlayBin:playbin0 / GstURIDecodeBin:uridecodebin0 / GstDecodeBin:decodebin0 / GstMpegAudioParse:mpegaudioparse0:GStreamer遇到一般流错误。
0:00:00.134308000 4120 0x7fe62c032140 WARN queue gstqueue.c:860:gboolean gst_queue_handle_sink_event(GstPad *,GstObject *,GstEvent *):错误:流媒体任务已暂停,原因未协商(-4)
附加调试信息:
gstbaseparse.c(3264):void gst_base_parse_loop(GstPad *)():/ GstPlayBin:playbin0 / GstURIDecodeBin:uridecodebin0 / GstDecodeBin:decodebin0 / GstMpegAudioParse:mpegaudioparse0: 流媒体停止了,理由没有协商
错误:管道不想预卷。
将管道设置为NULL ...
自由管道......
相同的管道在Windows 7上使用相同的音频正常工作。
如何在Mac OS X Mavericks上解决此问题?
答案 0 :(得分:0)
来得晚一点,但是如果其他人有同样的问题,可以把它放在这里。
在Mac上,我们需要适当的管道和管道元素,例如解码器和接收器。
使用autoaudiosink
,gstreamer
将自动找到接收器。
或者,您可以提供特定于Mac的osxaudiosink
。
尝试
gst-launch-1.0 filesrc location=test.mp3 ! decodebin ! audioconvert !
audioresample ! autoaudiosink
或
gst-launch-1.0 uridecodebin uri=file:///path/to/test.mp3 !
audioconvert ! audioresample ! autoaudiosin