Gstreamer播放MP3
时间:2009-05-07 来源:zhengwenwei_123
虽然对gstreamer还是不了解,但是感觉的确是个强大的东西!
且不说playbin这个强大的元素。就是自己写一个播放MP3的程序也是十分简单的东西。(之前自己用libmad和alsa从底层写起,花了很多时间——不过也是值得的,很多时候,高层的东西没有教会你一些基本的思想,例如linux系统的机制)用gstreamer只是写了几行代码——甚至代码都不用写,用脚本就可以了。
值得提醒的是,网上有些示例:
filesrc->mad->autoaudiosink
就可以播放MP3了。
但是我的机子上却有:
Internal data error的错误。
这个是内部数据流的格式问题。因为mad解码器输出的是24bit的PCM数据,而我的机子是用16bit声卡。解决这个问题很简单:
filesrc->mad->audioconvert->autoaudiosink
audioconvert会自己和autoaudiosink“协商”,把PCM转为16bit的。这样就可以正常播放了。
相关阅读 更多 +