#1
  1. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jun 2012
    Posts
    1
    Rep Power
    0

    Problem in music player


    hi, i made a music player it opens almost all the songs but while opening some songs it gives this error :

    PHP Code:
    A:/Chrome Downloads/Jhalla_Wallah_(Remix)_-_(MusicTub.Com).mp3
    Error 277 
    for "open "A:\Chrome Downloads\Jhalla_Wallah_(Remix)_-_(MusicTub.Com).mp3" alias mp3_0.878022650438"A problem occurred in initializing MCI.
    Error 263 for "set mp3_0.878022650438 time format milliseconds"The specified device is not open or is not recognized by MCI.
    Error 263 for "status mp3_0.878022650438 length"The specified device is not open or is not recognized by MCI.
    Exception in Tkinter callback
    Traceback 
    (most recent call last):
      
    File "A:\Python26\lib\lib-tk\Tkinter.py"line 1410in __call__
        
    return self.func(*args)
      
    File "A:\Python26\EmoPlayer.py"line 120in open_file
        self
    .music mp3play.load(self.filename.get())
      
    File "A:\Python26\mp3play\__init__.py"line 10in load
        
    return AudioClip(filename)
      
    File "A:\Python26\mp3play\__init__.py"line 17in __init__
        self
    ._clip _PlatformSpecificAudioClip(filename)
      
    File "A:\Python26\mp3play\windows.py"line 43in __init__
        self
    ._length_ms int(buf)
    ValueErrorinvalid literal for int() with base 10'The specified device is not open or is not recognized by MCI.' 
    here is my code:

    Code:
    from Tkinter import *
    import mp3play
    import tkFileDialog
    import Tkinter
    import tkFont
    import Tkinter as tk
    
    class musicplay:
        def __init__(self):
    
            open('Paths.txt', 'w').close()
            
            self.music = None
            #self.music_mood = None
            self.play_list = []
            #self.play_list_mood = []
            self.trackLocations = []
            #self.trackLocations_mood = []
    
            self.root = tk.Tk()
            self.root.title("EmoPlayer")
    
            self.root.configure(background='Black')
            self.root.geometry('345x350+376+169')
    
            self.filename = Tkinter.StringVar()
            self.name = Tkinter.StringVar()
            self.play_list = Tkinter.StringVar()
    
            menubar = Menu(self.root)
            filemenu = Menu(menubar, tearoff=0, bg="black", fg="Orange")
            menubar.add_cascade(label='File', menu = filemenu)
            filemenu.add_command(label='Open', command = self.open_file)
            filemenu.add_separator()
            filemenu.add_command(label='Exit', command = self.Exit)
            self.root.config(menu=menubar)
            
            #images
            play=PhotoImage(file='A:\Python26\images\play.gif')
            pause=PhotoImage(file='A:\Python26\images\pause.gif')
            stop=PhotoImage(file='A:\Python26\images\stop.gif')
            mood=PhotoImage(file='A:\Python26\images\mood.gif')
    
            #buttons
            mood_button = Button(self.root, width = 90, height = 40,image=mood)
            mood_button.image=mood
            mood_button.grid(row=0, column=4)
    
            play_button = Button(self.root, width = 40, height = 40, command = self.play, image=play)
            play_button.image=play
            play_button.grid(row=0, column=0, sticky = W)
    
            stop_button = Button(self.root, width = 40, height = 40, command = self.stop, image=stop)
            stop_button.image=stop
            stop_button.grid(row=0, column=1, sticky = W)
    
            pause_button = Button(self.root, width = 40, height = 40, command = self.pause, image=pause)
            pause_button.image=pause
            pause_button.grid(row=0, column=2)
    
            #generate_button = Button(self.root, width = 7, height = 2, text='Generate',
                                  #fg='Orange', command = self.generate , bg="black")
            #generate_button.grid(row=0, column=4)
    
            self.volume_slider = Scale(self.root, label='Volume',
                                  orient = 'horizontal', fg = 'black', 
                                  command = self.vol, bg="VioletRed2")
            self.volume_slider.grid(row=0, column=6)
    
            file_name_label = Label(self.root, font=('Comic Sans', 8),
                                    fg = 'Orange', wraplength = 300,
                                    textvariable=self.name, bg="black")
            file_name_label.grid(row=4, column=0, columnspan=12)
    
            
            #PLAYLIST
            play_list_window = Label(self.root, height = 150, width = 100)
           # play_list_window.title("Playlist")
            self.play_list_display = Listbox(play_list_window, selectmode=EXTENDED,
                                        width = 50, bg="gainsboro",
                                        fg="Orange")
           
            self.play_list_display.bind("<Double-Button-1>", self.tune_changed)
            self.play_list_display.pack()
            play_list_window.grid(row=5, column=0, columnspan=12)
            
    
            #MOODYLIST
            play_list_window_mood = Toplevel(self.root, height = 700, width = 250)
            play_list_window_mood.title("MoodyList")
            self.play_list_display_mood = Listbox(play_list_window_mood, selectmode=EXTENDED,
                                        width = 50, bg="gainsboro",
                                        fg="Orange")
            
            #self.play_list_display_mood.bind("<Double-Button-1>", self.tune_changed_play)
            self.play_list_display_mood.pack()
          
            play_list_window_mood.mainloop()
            play_list_window.mainloop()
    
           
            self.root.mainloop()        
    
        def open_file(self):                                
            """
            Opens a dialog box to open .mp3 filemusic,
            then sends filename to file_name_label.
            """
            try:
                self.filename.set(tkFileDialog.askopenfilename(
                defaultextension = ".mp3",
                filetypes=[("All Types", ".*"), ("MP3", ".mp3")]))
                self.playlist = self.filename.get()
                playlist_pieces = self.playlist.split("/")
                self.play_list.set (playlist_pieces[-1])
                playl = self.play_list.get()
                self.play_list_display.insert(END, playl)
                print self.filename.get()
                try:
                    self.music = mp3play.load(self.filename.get())
                finally:
                    pieces = self.filename.get().split("/")
                    self.trackLocations += [self.filename.get()]
                    self.name.set(pieces[-1])
            except IOError:
                pass
            try:
                # This tries to open an existing file but creates a new file if necessary.
                logfile = open("Paths.txt", "a")
                try:
                    logfile.write("\n" + self.filename.get())
                    #logfile.write(self.filename.get())
                finally:
                    logfile.close()
            except IOError:
                pass
    
           
            
    
        def play(self):
            """Plays the .mp3 file"""
            self.music.play()
    
        def stop(self):
            """Stops the .mp3 file"""
            self.music.stop()                
    
        def pause(self):
            """Pauses or unpauses the .mp3 file"""
            if self.music.ispaused():
                self.music.unpause()
            else:
                self.music.pause()
    
        #def mood(self):
            
            
    
        def vol(self, event):
            """Allows volume to be changed with the slider"""
            v = Scale.get(self.volume_slider)
            try:
                self.music.volume(v)
            except:
                pass
    
        def tune_changed(self, event):
            idx = event.widget.curselection()[0]
            self.music = mp3play.load(self.trackLocations[int(idx)])
            print ("Now playing %s" % event.widget.get(idx))
    
        #def tune_changed_play(self,event):
           # idx = event.widget.curselection()[0]
           # self.music_mood = mp3play.load(self.trackLocations_mood[int(idx)])
           # print ("Now playing %s" % event.widget.get(idx))
    
        #def generate(self):
         #   self.playlist_mood = 'A:/Chrome Downloads/Mind'
          #  playlist_pieces_mood = self.playlist_mood.split("/")
           # self.play_list.set (playlist_pieces_mood[-1])
            #playl_mood = self.play_list.get()
            #self.play_list_display_mood.insert(END, playl_mood)
            #print self.filename.get()
            #self.music = mp3play.load(self.playlist_mood)
            #pieces_mood = self.playlist_mood.split("/")
            #self.trackLocations_mood += [self.playlist_mood]
            
            #self.name.set(pieces_mood[-1])
            
            #self.playlist_mood = 'A:\Chrome Downloads\Flo_Rida_-_Whistle_(www.freshmp3music.ru)'
            #self.trackLocations_mood += [self.playlist_mood]
            #playlist_pieces_mood = self.playlist_mood.split("/")
            #self.play_list.set (playlist_pieces_mood[-1])
            #playl = self.play_list.get()
          #  self.play_list_display_mood.insert(END, playl)
           # print ("Generated ")
    
        def Exit(self):
            exit()
    
    if __name__ == "__main__":
        musicplay()
  2. #2
  3. Contributing User
    Devshed Demi-God (4500 - 4999 posts)

    Join Date
    Aug 2011
    Posts
    4,997
    Rep Power
    481
    Why do you import tkinter three ways?

    from Tkinter import *
    import Tkinter
    import Tkinter as tk

    I don't have anything particularly useful to contribute. Duplicating your error will be difficult since I don't have a lot of your components installed, would have to substitute gifs, and don't know what "MCI" means.

    You might have invalid mp3 files. Can you play the files in another way?
    [code]Code tags[/code] are essential for python code and Makefiles!

IMN logo majestic logo threadwatch logo seochat tools logo