使用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 )


相关文章
|
7月前
|
C++
基于Qt的简易音乐播放器设计与实现
基于Qt的简易音乐播放器设计与实现
285 0
|
JavaScript
Qt视频播放器[QMediaPlayer+QVideowidget]
本代码在Window10下运行,利用qMediaPlayer和qvideowidget实现视频文件mp4的播放,并且提供进度显示,还可以通过拖动进度条来变换播放位置
464 0
|
2月前
|
计算机视觉 Python
python利用pyqt5和opencv打开电脑摄像头并进行拍照
本项目使用Python的PyQt5和OpenCV库实现了一个简单的摄像头应用。用户可以通过界面按钮打开或关闭摄像头,并实时预览视频流。点击“拍照”按钮可以捕捉当前画面并保存为图片文件。该应用适用于简单的图像采集和处理任务。
116 0
python利用pyqt5和opencv打开电脑摄像头并进行拍照
|
4月前
【qt】多窗口开发
【qt】多窗口开发
62 0
|
7月前
|
图形学 Python 容器
【PyQt5桌面应用开发】3.Qt Designer快速入门(控件详解)
【PyQt5桌面应用开发】3.Qt Designer快速入门(控件详解)
773 0
|
C++ 计算机视觉 Python
C++ QT视频音乐播放器
C++ QT视频音乐播放器
173 0
C++ QT视频音乐播放器
嵌入式 QT 基于mplayer的音乐播放器
嵌入式 QT 基于mplayer的音乐播放器
【QT】历时两个月,用QT实现超级玛丽,谁说QT不能写游戏?【附源码】
【QT】历时两个月,用QT实现超级玛丽,谁说QT不能写游戏?【附源码】
|
JavaScript
Qt图片浏览器
可以显示jpg、jpeg、png、bmp。可以从电脑上拖动图到窗口并显示出来或者打开文件选择 重载实现dragEnterEvent(拖拽)、dropEvent(拖拽放下)、resizeEvent(窗口大小改变)
111 0
|
IDE Java 开发工具
安装PyQt5以及designer Pyside
安装PyQt5以及designer Pyside
282 0
安装PyQt5以及designer Pyside