使用pymedia和pyqt4写的一个音乐播放器

简介:

    这段时间一直在忙论文,很少时间写代码了,不过还是挤出点时间,整理了一下材料写了一个小的音乐播放器。

本来一直使用wxpython,但是考虑到以后工作了要使用qt,就转到pyqt了。以前也总使用fedora或者archlinux版本的linux,发现总是有那么多的包依赖问题要解决。索性改回了ubuntu。pymedia已经很长时间没有更新过了。在网上找了资料成功安装。写代码的过程中,发现以前学的重构和模式没有用上,不过先暂时放一放吧。曾第二个版本出来的时候,再好好重构一番。。。。。。

     

     只粘贴部分代码

     def playaudio(self):


import pymedia.muxer as muxer
        import pymedia.audio.acodec as acodec
        import pymedia.audio.sound as sound
        import os.path as path
        file_path = "/home/archy/Documents/python/yshouge.mp3"
        root,ext = path.splitext(file_path)
        demuxer = muxer.Demuxer(ext[1:].lower())
        decoder = None
        output = None

        file = open(file_path,'rb')
        data = ' '
        while data:
            data = file.read(20000)
            if len(data):
                frames = demuxer.parse(data)
                for frame in frames:
                    if decoder == None:
                        decoder = acodec.Decoder(demuxer.streams[0])
    
                    audio_frame = decoder.decode(frame[1])
                    if audio_frame and audio_frame.data:
                        if output==None:
                            output = sound.Output(audio_frame.sample_rate,audio_frame.channels,sound.AFMT_S16_LE)
                        
                        while self.stop:
                            time.sleep(1)

                        output.play(audio_frame.data)
                
                while output.isPlaying(): 
                    time.sleep( 0.05 )


相关文章
|
2月前
|
C++
基于Qt的简易音乐播放器设计与实现
基于Qt的简易音乐播放器设计与实现
21 0
|
9月前
Qt视频播放器[QMediaPlayer+QVideowidget]
本代码在Window10下运行,利用qMediaPlayer和qvideowidget实现视频文件mp4的播放,并且提供进度显示,还可以通过拖动进度条来变换播放位置
198 0
|
7月前
嵌入式 QT 基于mplayer的音乐播放器
嵌入式 QT 基于mplayer的音乐播放器
|
8月前
|
C++ 计算机视觉 Python
C++ QT视频音乐播放器
C++ QT视频音乐播放器
104 0
C++ QT视频音乐播放器
【QT】历时两个月,用QT实现超级玛丽,谁说QT不能写游戏?【附源码】
【QT】历时两个月,用QT实现超级玛丽,谁说QT不能写游戏?【附源码】
|
内存技术
pyqt5播放视频,flash
pyqt5播放视频,flash
pyqt5进度条
简单写一个pyqt5的进度条功能可以参照使用
80 0
用 Pyqt5 打造一个精美 图片浏览器
Pyqt5 是一套Qt 应用框架与 python的结合,同时支持 2.x 和 3.x。是附属于 python 一款强大的 GUI 库。 本片文章写的 图片浏览程序 就是基于 pyqt5 所完成的,由于 图片预览器 中我们需要增加一些滚动滑轮,所以这里我用到的控件主要是 pyqt5的 QScrollArea ;能够伴随着图片的不断增加而增加页面空间,
Pyqt5学习系列
最近在学习Pyqt5做界面,找到了一个非常棒的博主的学习系列 在此记录下来: http://blog.csdn.net/zhulove86/article/category/6381941  
1093 0