使用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  )
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值