Ceriwis  

Go Back   Ceriwis > HOBI > Komputer & Teknologi > Programming

Programming Share, tanya jawab, saling bantu antar programmer dengan berbagai macam bahasa pemrograman.

Reply
 
Thread Tools
  #1  
Old 20th November 2011
Badguy13 Badguy13 is offline
Ceriwiser
 
Join Date: Nov 2011
Posts: 399
Rep Power: 14
Badguy13 mempunyai hidup yang Normal
Default [wx.media] NotImplementedError, plase help me

agan2 mohon bantuannya..

ane nemu code buat media player pake wxpython

pas tak jalanin diJendela, berjalan lancar

tapi pas tak jalanin dilinux koq ada errornya y....


Code:

import wx
import wx.media
import os

class Panel1(wx.Panel):
def __init__(self, parent, id):
#self.log = log
wx.Panel.__init__(self, parent, -1, style=wx.TAB_TRAVERSAL|wx.CLIP_CHILDREN)

# Create some controls
try:
self.mc = wx.media.MediaCtrl(self, style=wx.SIMPLE_BORDER)

except NotImplementedError:
self.Destroy()
raise

loadButton = wx.Button(self, -1, "Load File")
self.Bind(wx.EVT_BUTTON, self.onLoadFile, loadButton)

playButton = wx.Button(self, -1, "Play")
self.Bind(wx.EVT_BUTTON, self.onPlay, playButton)

pauseButton = wx.Button(self, -1, "Pause")
self.Bind(wx.EVT_BUTTON, self.onPause, pauseButton)

stopButton = wx.Button(self, -1, "Stop")
self.Bind(wx.EVT_BUTTON, self.onStop, stopButton)

slider = wx.Slider(self, -1, 0, 0, 0, size=wx.Size(300, -1))
self.slider = slider
self.Bind(wx.EVT_SLIDER, self.onSeek, slider)
self.st_file = wx.StaticText(self, -1, ".mid .mp3 .wav .au .avi .mpg", size=(200,-1))
self.st_size = wx.StaticText(self, -1, size=(100,-1))
self.st_len = wx.StaticText(self, -1, size=(100,-1))
self.st_pos = wx.StaticText(self, -1, size=(100,-1))

# setup the button/label layout using a sizer
sizer = wx.GridBagSizer(5,5)
sizer.Add(loadButton, (1,1))
sizer.Add(playButton, (2,1))
sizer.Add(pauseButton, (3,1))
sizer.Add(stopButton, (4,1))
sizer.Add(self.st_file, (1, 2))
sizer.Add(self.st_size, (2, 2))
sizer.Add(self.st_len, (3, 2))
sizer.Add(self.st_pos, (4, 2))
sizer.Add(self.mc, (5,1), span=(5,1)) # for .avi .mpg video files
self.SetSizer(sizer)
self.timer = wx.Timer(self)
self.Bind(wx.EVT_TIMER, self.onTimer)
self.timer.Start(100)

def onLoadFile(self, evt):
dlg = wx.FileDialog(self, message="Choose a media file",
defaultDir=os.getcwd(), defaultFile="",
style=wx.OPEN | wx.CHANGE_DIR )

if dlg.ShowModal() == wx.ID_OK:
path = dlg.GetPath()
self.doLoadFile(path)
dlg.Destroy()

def doLoadFile(self, path):
if not self.mc.Load(path):
wx.MessageBox("Unable to load %s: Unsupported format?" % path, "ERROR", wx.ICON_ERROR | wx.OK)
else:
folder, filename = os.path.split(path)
self.st_file.SetLabel('%s' % filename)
self.mc.SetBestFittingSize()
self.GetSizer().Layout()
self.slider.SetRange(0, self.mc.Length())
self.mc.Play()#ITS TO PROBLEM, WHY IT DOESNT PLAY HERE?#

def onPlay(self, evt):
self.mc.Play()

def onPause(self, evt):
self.mc.Pause()

def onStop(self, evt):
self.mc.Stop()

def onSeek(self, evt):
offset = self.slider.GetValue()
self.mc.Seek(offset)

def onTimer(self, evt):
offset = self.mc.Tell()
self.slider.SetValue(offset)
self.st_size.SetLabel('size: %s ms' % self.mc.Length())
self.st_len.SetLabel('( %d seconds )' % (self.mc.Length()/1000))
self.st_pos.SetLabel('position: %d ms' % offset)

app = wx.PySimpleApp()
# create a window/frame, no parent, -1 is default ID
frame = wx.Frame(None, -1, "play audio and video files", size = (320, 350))
# call the derived class
Panel1(frame, -1)
frame.Show(1)
app.MainLoop()

ini errornya :


Code:

Traceback (most recent call last):
File "/root/DATA/Lat Python/latihan.py", line 96, in
MyPanel(frame, -1)
File "/root/DATA/Lat Python/latihan.py", line 17, in __init__
self.mc = wx.media.MediaCtrl(self, style=wx.SIMPLE_BORDER)
File "/usr/lib/python2.6/site-packages/wx-2.8-gtk2-unicode/wx/media.py", line 96, in __init__
_media.MediaCtrl_swiginit(self,_media.new_MediaCtr l(*args, **kwargs))
NotImplementedError





Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


 


All times are GMT +7. The time now is 07:00 AM.


no new posts