def __init__(self, url=None, parent=None):
        QWidget.__init__(self)
        self.setWindowTitle('Audio Player')

        # 再生ファイル
        self.url = url

        # Phonon Objects
        # ***************
        self.media = Phonon.MediaObject(self)
        self.audio = Phonon.AudioOutput(Phonon.VideoCategory, self)
        Phonon.createPath(self.media, self.audio)

        # Set SOURCE
        source = Phonon.MediaSource(self.url)
        self.media.setCurrentSource(source)

        # Timer
        # *****
        self.media.setTickInterval(1 / 30 * 1000)  # [ms]
        self.media.tick.connect(self.tock)
        self.time = 0

        # UI 生成
        # ***************
        self.setupUI()
示例#2
0
    def __init__(self):
        QtGui.QMainWindow.__init__(self)

        self.audioOutput = Phonon.AudioOutput(Phonon.MusicCategory, self)
        self.mediaObject = Phonon.MediaObject(self)
        self.metaInformationResolver = Phonon.MediaObject(self)

        self.mediaObject.setTickInterval(1000)

        self.connect(self.mediaObject, QtCore.SIGNAL('tick(qint64)'),
                     self.tick)
        self.connect(
            self.mediaObject,
            QtCore.SIGNAL('stateChanged(Phonon::State, Phonon::State)'),
            self.stateChanged)
        self.connect(
            self.metaInformationResolver,
            QtCore.SIGNAL('stateChanged(Phonon::State, Phonon::State)'),
            self.metaStateChanged)
        self.connect(
            self.mediaObject,
            QtCore.SIGNAL('currentSourceChanged(Phonon::MediaSource)'),
            self.sourceChanged)
        self.connect(self.mediaObject, QtCore.SIGNAL('aboutToFinish()'),
                     self.aboutToFinish)

        Phonon.createPath(self.mediaObject, self.audioOutput)

        self.setupActions()
        self.setupMenus()
        self.setupUi()
        self.timeLcd.display("00:00")

        self.sources = []
示例#3
0
    def play_sound(self, alias):
        """ Plays a sound
        
        CHECK
        When exporting sound over HDMI, the first time the first sound is 
        played, the beginning of it gets cut off.

        It might be worth including a 1 millisecond silent .wave and playing 
        it with the volume turned to 0 on app load (init_sound() or some 
        such), to ensure the sound system has been initialized.  Or something.  

        This doesn't seem to happen when the sound is local.

        Arguments:
            alias (str): The name of a sound file alias as specified in a .qrc
                         file, eg "mysound.wav"
        """
        speakers = Phonon.AudioOutput(Phonon.MusicCategory, self)
        media   = Phonon.MediaObject(self)
        speakers.setVolume(0.5)
        Phonon.createPath(media, speakers)
        media.setCurrentSource( ":/{}".format(alias) )
        ### If we let the media file play all the way through, we get a nasty 
        ### static squelch at the end.  Set it to stop playing 30 milliseconds 
        ### before the end.
        media.setPrefinishMark(30)
        media.prefinishMarkReached.connect( media.stop )
        media.play()
示例#4
0
文件: main.py 项目: geduld/tramendo
    def __init__(self):
        super(Tramendo, self).__init__()

        # Menu
        self.trayIconMenu = QMenu(self)

        # Build media player
        self.audioOuptut = Phonon.AudioOutput(Phonon.MusicCategory, self)
        self.player = Phonon.MediaObject(self)
        Phonon.createPath(self.player, self.audioOuptut)

        # Jamendo Actions
        self.jamendo = JamendoRadio()
        self.radioActions = QActionGroup(self)
        self.radioActions.setExclusive(True)
        self.radioActions.triggered.connect(self.play_stream_event)

        radio_stations = self.jamendo.get_radio_list()
        for radio in radio_stations:
            action = QAction(radio["dispname"], self)
            action.setCheckable(True)
            action.setData(radio["id"])
            self.radioActions.addAction(action)
            self.trayIconMenu.addAction(action)

        # Exit Action
        self.quitAction = QAction("&Exit", self)
        self.quitAction.triggered.connect(self.exit_event)
        self.trayIconMenu.addAction(self.quitAction)

        # Icon setting
        self.trayIcon = QSystemTrayIcon(self)
        self.trayIcon.setContextMenu(self.trayIconMenu)
        self.trayIcon.setIcon(QApplication.style().standardIcon(QStyle.SP_MediaPlay))
        self.trayIcon.show()
示例#5
0
 def __init__(self, parent=None):
     QMainWindow.__init__(self, parent)
     self.setWindowFilePath('No file')
     # the media object controls the playback
     self.media = Phonon.MediaObject(self)
     # the audio output does the actual sound playback
     self.audio_output = Phonon.AudioOutput(Phonon.MusicCategory, self)
     # a slider to seek to any given position in the playback
     self.seeker = Phonon.SeekSlider(self)
     self.setCentralWidget(self.seeker)
     # link media objects together.  The seeker will seek in the created
     # media object
     self.seeker.setMediaObject(self.media)
     # audio data from the media object goes to the audio output object
     Phonon.createPath(self.media, self.audio_output)
     # set up actions to control the playback
     self.actions = self.addToolBar('Actions')
     for name, label, icon_name in self.ACTIONS:
         icon = self.style().standardIcon(icon_name)
         action = QAction(icon, label, self)
         action.setObjectName(name)
         self.actions.addAction(action)
         if name == 'open':
             action.triggered.connect(self._ask_open_filename)
         else:
             action.triggered.connect(getattr(self.media, name))
     # whenever the playback state changes, show a message to the user
     self.media.stateChanged.connect(self._show_state_message)
示例#6
0
	def initializeAudioPhonon(self):
		
		if self.DEBUG:
			print "INFO: [Plugin:Orbit] Using Phonon Audio Framework"
		
		self.initializeAudioFilePath()
		
		self.media = Phonon.MediaObject()
		
		#print dir(self.media)
		
		audio = Phonon.AudioOutput(Phonon.MusicCategory)
		Phonon.createPath(self.media, audio)
		f = QtCore.QFile(self.audio_file)
		if f.exists():
			source = Phonon.MediaSource(self.audio_file)
			if source.type() != -1:                 # -1 stands for invalid file
				self.media.setCurrentSource(source)
				
				self.media.play()
				
			else:
				if self.DEBUG:
					print "ERROR: [Plugin:Orbit] Audio control file invalid:",
					print self.audio_file
		else:
			if self.DEBUG:
				print "ERROR: [Plugin:Orbit] Audio control file does not exist:,"
				print self.audio_file
示例#7
0
文件: player.py 项目: Aleksandre/YAM
 def init(self, prefinishMark):
     self.audioOutput = Phonon.AudioOutput(Phonon.MusicCategory, self.app)
     self.player = Phonon.MediaObject(self.app)
     self.player.setPrefinishMark(prefinishMark)
     self.player.setTickInterval(1000)
     Phonon.createPath(self.player, self.audioOutput)
     self._bindEvents()
示例#8
0
    def __init__(self, url=None, parent=None):
        QWidget.__init__(self)
        self.setWindowTitle('Video Player')

        # 再生ファイル
        self.url = url

        # Phonon Objects
        # ***************
        self.media = Phonon.MediaObject(self)
        self.video = Phonon.VideoWidget(self)
        # self.video.setMinimumSize(180, 280)
        self.audio = Phonon.AudioOutput(Phonon.VideoCategory, self)
        Phonon.createPath(self.media, self.audio)
        Phonon.createPath(self.media, self.video)

        # Timer
        # *****
        self.media.setTickInterval(1 / 30 * 1000)  # [ms]
        self.media.tick.connect(self.tock)
        self.time = 0

        # UI 生成
        # ***************
        self.setupUI()
示例#9
0
    def initializeAudioPhonon(self):

        if self.DEBUG:
            print "INFO: [Plugin:Orbit] Using Phonon Audio Framework"

        self.initializeAudioFilePath()

        self.media = Phonon.MediaObject()

        #print dir(self.media)

        audio = Phonon.AudioOutput(Phonon.MusicCategory)
        Phonon.createPath(self.media, audio)
        f = QtCore.QFile(self.audio_file)
        if f.exists():
            source = Phonon.MediaSource(self.audio_file)
            if source.type() != -1:  # -1 stands for invalid file
                self.media.setCurrentSource(source)

                self.media.play()

            else:
                if self.DEBUG:
                    print "ERROR: [Plugin:Orbit] Audio control file invalid:",
                    print self.audio_file
        else:
            if self.DEBUG:
                print "ERROR: [Plugin:Orbit] Audio control file does not exist:,"
                print self.audio_file
示例#10
0
    def __init__(self):
        QtGui.QMainWindow.__init__(self)

        self.audioOutput = Phonon.AudioOutput(Phonon.MusicCategory, self)
        self.mediaObject = Phonon.MediaObject(self)
        self.metaInformationResolver = Phonon.MediaObject(self)

        self.mediaObject.setTickInterval(1000)

        self.connect(self.mediaObject, QtCore.SIGNAL('tick(qint64)'),
                self.tick)
        self.connect(self.mediaObject,
                QtCore.SIGNAL('stateChanged(Phonon::State, Phonon::State)'),
                self.stateChanged)
        self.connect(self.metaInformationResolver,
                QtCore.SIGNAL('stateChanged(Phonon::State, Phonon::State)'),
                self.metaStateChanged)
        self.connect(self.mediaObject,
                QtCore.SIGNAL('currentSourceChanged(Phonon::MediaSource)'),
                self.sourceChanged)
        self.connect(self.mediaObject, QtCore.SIGNAL('aboutToFinish()'),
                self.aboutToFinish)

        Phonon.createPath(self.mediaObject, self.audioOutput)

        self.setupActions()
        self.setupMenus()
        self.setupUi()
        self.timeLcd.display("00:00") 

        self.sources = []
示例#11
0
    def __init__(self,parent=None):
        QtGui.QWidget.__init__(self,parent)
        self.ui=Ui_toolBoxWidget()
        self.ui.setupUi(self)
#        volumeSlider_bombMusic
        self.media = Phonon.MediaObject(self)
        self.media.setCurrentSource(Phonon.MediaSource())
        self.media.setTickInterval(10)
        
        self.output = Phonon.AudioOutput(Phonon.MusicCategory, self)
        Phonon.createPath(self.media, self.output)
        
        self.ui.volumeSlider_music.setAudioOutput(self.output)
        
        self.ui.seekSlider_musicProgress.setMediaObject(self.media)
        
        self.ui.lcdNumber.display("00:00")
        
        
        self.media.stateChanged.connect(self.stateChanged)
        self.media.tick.connect(self.tick)
        
        self.ui.pushButton_musicPlay.clicked.connect(self.changePlayPause)
        self.ui.pushButton_musicStop.clicked.connect(self.changeStop)
        self.ui.timeEdit_music.timeChanged.connect(self.timeEditTimeChanged)
        
        self.path = None
        self.signal = FileChoosedSignal()
示例#12
0
文件: repro.py 项目: nico4021/LNMusic
 def __init__(self):
     super(Reproductor, self).__init__(parent=None)
     self.setWindowTitle("Python Simple Player")
     self.gridLayout = QtGui.QGridLayout(self)
     loader = QtUiTools.QUiLoader()
     # QtCore.QFile
     
     file = QtCore.QFile("repro.ui")
     file.open(QtCore.QFile.ReadOnly)
     self.ui = loader.load(file, self)
     file.close()
     self.gridLayout.addWidget(self.ui, 0, 0, 1, 1)
     # seccion multimedia
     self.audioOutput = Phonon.AudioOutput(Phonon.MusicCategory, self)
     self.mediaObject = Phonon.MediaObject(self)
     Phonon.createPath(self.mediaObject, self.audioOutput)
     self.mediaObject.setTickInterval(1000)
     #
     self.ui.lcdAvance.display("00:00")
     QtCore.QObject.connect(
         self.ui.btnArchivo,
         QtCore.SIGNAL("clicked()"),
         self.openFile)
     QtCore.QObject.connect(
         self.ui.btnPlay,
         QtCore.SIGNAL("clicked()"),
         self.play)
     self.mediaObject.tick.connect(self.alAvanzar)
     self.mediaObject.stateChanged.connect(self.alCambiarEstado)
示例#13
0
    def __init__(self, parent=None):
        super(Movie, self).__init__(parent)
        self.audioOutput = Phonon.AudioOutput(Phonon.VideoCategory)
        self.mediaObject = Phonon.MediaObject(self)
        self.mediaObject.setTickInterval(1)
        Phonon.createPath(self.mediaObject, self)
        Phonon.createPath(self.mediaObject, self.audioOutput)
        
        self.overlay = DrawWidge(self)
        self.overlay.resize(self.width(), self.height())
        self.overlay.hide()
        self.overlay_showing = False

        self.image = DrawWidge(self)
        self.image.resize(self.width(), self.height())
        self.image.hide()
        self.image_showing = False

        self.fulled = False

        self.subtitler = SubtitleWidge(self)
        self.subtitler.resize(self.width(), self.height())
        self.subtitler.hide()
        self.subtitler_showing = False

        self.save_timer = SaveCloser()
        self.save_timer.start()

        self.setupActions()
示例#14
0
 def __init__(self, parent=None):
     QMainWindow.__init__(self, parent)
     self.setWindowFilePath('No file')
     # the media object controls the playback
     self.media = Phonon.MediaObject(self)
     # the audio output does the actual sound playback
     self.audio_output = Phonon.AudioOutput(Phonon.MusicCategory, self)
     # a slider to seek to any given position in the playback
     self.seeker = Phonon.SeekSlider(self)
     self.setCentralWidget(self.seeker)
     # link media objects together.  The seeker will seek in the created
     # media object
     self.seeker.setMediaObject(self.media)
     # audio data from the media object goes to the audio output object
     Phonon.createPath(self.media, self.audio_output)
     # set up actions to control the playback
     self.actions = self.addToolBar('Actions')
     for name, label, icon_name in self.ACTIONS:
         icon = self.style().standardIcon(icon_name)
         action = QAction(icon, label, self)
         action.setObjectName(name)
         self.actions.addAction(action)
         if name == 'open':
             action.triggered.connect(self._ask_open_filename)
         else:
             action.triggered.connect(getattr(self.media, name))
     # whenever the playback state changes, show a message to the user
     self.media.stateChanged.connect(self._show_state_message)
示例#15
0
    def __init__(self):
        super(MainWindow, self).__init__()


        self.media = Phonon.MediaObject(self)

        self.audio = Phonon.AudioOutput(Phonon.MusicCategory, self)
        self.video = Phonon.VideoWidget(self)
        self.metaInformationResolver = Phonon.MediaObject(self)

        Phonon.createPath(self.media, self.audio)
        Phonon.createPath(self.media, self.video)

        self.media.setTickInterval(1000)
        self.sources = []




        self.setupActions()
        self.setupConnections()
        self.setupUi()

        self.setWindowTitle("BLue PLayer")
        self.setMinimumSize(245,245)
        self.resize(680,400)
示例#16
0
    def go(self, what2do, folder):
        '''This function is called from javascript when clicking
        the tracks, info or play all buttons'''

        print('what 2 to',str(what2do))
        
        what2do = str(what2do)
        # stop playback when exiting the page
        self.eval_js(self.doc,
            '''window.addEventListener("unload", setup_files.stop, false);''')

        if what2do == 'play_all':
            tracks, folder_wrapper = self.get_folder_tracks(folder)
            self.curtrack = 0
            self.playlist = tracks
            self.cur_folder = folder_wrapper
            self.create_player()
            self.create_buttons_events()
            
            self.media_object = Phonon.MediaObject(self)
            self.audio = Phonon.AudioOutput(Phonon.MusicCategory)
            self.media_object.setTickInterval(1000)

            self.media_object.tick.connect(self.draw_time)
            self.media_object.stateChanged.connect(self.stateChanged)
            self.media_object.finished.connect(self.next)

            Phonon.createPath(self.media_object, self.audio)
        if what2do == 'show_info':
            self.show_hide_info(folder,'div.info')
        if what2do == 'show_tracks':
            self.show_hide_info(folder,'div.files_table_wrapper')
示例#17
0
 def getMusicTime(self):
     from PySide.phonon import Phonon
     self.media2 = Phonon.MediaObject(self)
     self.media2.setCurrentSource(Phonon.MediaSource())
     self.media2.setCurrentSource(Phonon.MediaSource(self.path))
     output = Phonon.AudioOutput(Phonon.MusicCategory, self)
     Phonon.createPath(self.media2, output)
     self.media2.stateChanged.connect(self.stateChanged2)
示例#18
0
	def __init__(self):
		self.backend = 'Phonon'
		QtCore.QObject.__init__(self)
		self.audioOuptut = Phonon.AudioOutput(Phonon.MusicCategory, self)
		self.player = Phonon.MediaObject(self)
		Phonon.createPath(self.player, self.audioOuptut)
		
		self.connectedWidgets = []
		self.player.aboutToFinish.connect(self.onPlaybackEnded)
示例#19
0
 def setup(self, parent):
     self.media = Phonon.MediaObject(parent)
     videoWidget = Phonon.VideoWidget(parent)
     Phonon.createPath(self.media, videoWidget)
     self.layout().addWidget(videoWidget)
     self.seekSlider = Phonon.SeekSlider(self.media, parent)
     self.layout().addWidget(self.seekSlider)
     self.seekSlider.setIconVisible(False)
     self.media.finished.connect(self.mediaFinished)
示例#20
0
文件: widgets.py 项目: e-sr/KG
    def __init__(self, setup=False, **kwargs):
        QMainWindow.__init__(self)
        self.setWindowTitle('...')
        # time to syncronize plot and media object
        self.tShift = 0
        self.t = 0
        self.mpl = {}
        self.ca_widget_handle = []
        self.ca_bar_handle = []
        # bools to know if the timer is to be activated
        # refresh timer
        self.refresh = 15  # ms
        self.timer = QtCore.QTimer()
        self.timer.setInterval(self.refresh)
        self.lcd = QtGui.QLCDNumber(self)
        self.lcd.setDigitCount(5)
        self.lcd.display("{:+05.1f}".format(self.t))

        # phonon
        # the media object controls the playback
        self.media = Phonon.MediaObject(self)
        self.audio_output = Phonon.AudioOutput(Phonon.MusicCategory, self)
        self.seeker = Phonon.SeekSlider(self)
        self.seeker.setFixedHeight(35)
        self.seeker.setMediaObject(self.media)
        self.media.setTickInterval(20)
        # audio data from the media object goes to the audio output object
        Phonon.createPath(self.media, self.audio_output)
        # set up actions to control the playback
        ACTIONS = [
            ('play', 'Play', QStyle.SP_MediaPlay),
            ('pause', 'Pause', QStyle.SP_MediaPause),
            ('stop', 'Stop', QStyle.SP_MediaStop)]
        self.actions = self.addToolBar('Actions')
        for name, label, icon_name in ACTIONS:
            icon = self.style().standardIcon(icon_name)
            action = QtGui.QAction(icon, label, self, )
            action.setObjectName(name)
            self.actions.addAction(action)
            action.triggered.connect(getattr(self.media, name))
        self.actions.addSeparator()
        # show help
        helpAction = QtGui.QAction('&Help', self)
        helpAction.setObjectName(name)
        self.actions.addAction(helpAction)
        helpAction.triggered.connect(self.show_help)

        # layout
        self.vBox = QtGui.QVBoxLayout()
        hBox = QtGui.QHBoxLayout()
        hBox.addWidget(self.lcd)
        hBox.addWidget(self.seeker)
        self.vBox.addLayout(hBox)
        # finish setup
        if setup:
            self.setup(**kwargs)
示例#21
0
	def __init__(self,audio=True,vibra=True):
		_d = NotifierDebug();
		self._d = _d.d;

		self.manager = MNotificationManager('wazappnotify','WazappNotify');
		self.vibra = vibra

		self.personalRingtone = WAConstants.DEFAULT_SOUND_NOTIFICATION;
		self.personalVibrate = True;
		self.groupRingtone = WAConstants.DEFAULT_SOUND_NOTIFICATION;
		self.groupVibrate = True;
		
		QCoreApplication.setApplicationName("Wazapp");


		self.audioOutput = Phonon.AudioOutput(Phonon.MusicCategory, None)
		self.mediaObject = Phonon.MediaObject(None)
		Phonon.createPath(self.mediaObject, self.audioOutput)		

		self.profileChanged(0, 0, self.getCurrentProfile(), 0)
		bus = dbus.SessionBus()
		mybus = bus.get_object('com.nokia.profiled', '/com/nokia/profiled')
		self.nface = dbus.Interface(mybus, 'com.nokia.profiled')
		self.nface.connect_to_signal("profile_changed", self.profileChanged)
		#prof = self.getCurrentProfile()
		#reply = self.nface.get_value(prof,"ringing.alert.volume");
		#self.currentProfile = prof
		#self.currentVolume = "1.0" if reply=="100" else "0." + reply
		#self._d("Checking current profile: " + prof + " - Volume: " + self.currentVolume)
		#self.audioOutput.setVolume(float(self.currentVolume))

		
		#self.newMessageSound = WAConstants.DEFAULT_SOUND_NOTIFICATION #fetch from settings
		self.devInfo = QSystemDeviceInfo();
		
		#self.devInfo.currentProfileChanged.connect(self.profileChanged);
		
		self.audio = True
		'''if audio:
			self.audio = QMediaPlayer(None,QMediaPlayer.LowLatency); 
			self.audio.setVolume(100);
		else:
			self.audio = False'''
			
		self.enabled = True
		self.notifications = {}
		

		# vibration comes too early here, now handled by ui.py when the message is already added in QML
		# well, the truth is that sound comes too late... :D
		#>> Any notification should be handler by the notifier, not UI :P I don't feel it's too early though,
		# but if necessary connect to a signal and vibrate from here.
		if self.vibra:
			self.vibra = QFeedbackHapticsEffect();
			self.vibra.setIntensity(1.0);
			self.vibra.setDuration(200);
示例#22
0
 def __init__(self, window):
     """
     Creates a new AudioService
     :param window:
         QObject of the story ui
     """
     self.media_object = Phonon.MediaObject(window)
     self.audio_output = Phonon.AudioOutput(Phonon.MusicCategory, window)
     Phonon.createPath(self.media_object, self.audio_output)
     self.filename_list = []
def get_widget_player(file_path, audio):
    media_src = Phonon.MediaSource(file_path)
    media_obj = Phonon.MediaObject()
    media_obj.setCurrentSource(media_src)
    video_widget = Phonon.VideoWidget()
    Phonon.createPath(media_obj, video_widget)
    if audio:
        audio_out = Phonon.AudioOutput(Phonon.VideoCategory)
        Phonon.createPath(media_obj, audio_out)
    return media_obj, video_widget
示例#24
0
def get_widget_player(file_path, audio):
    media_src = Phonon.MediaSource(file_path)
    media_obj = Phonon.MediaObject()
    media_obj.setCurrentSource(media_src)
    video_widget = Phonon.VideoWidget()
    Phonon.createPath(media_obj, video_widget)
    if audio:
        audio_out = Phonon.AudioOutput(Phonon.VideoCategory)
        Phonon.createPath(media_obj, audio_out)
    return media_obj, video_widget
 def __init__(self, window):
     """
     Creates a new AudioService
     :param window:
         QObject of the story ui
     """
     self.media_object = Phonon.MediaObject(window)
     self.audio_output = Phonon.AudioOutput(Phonon.MusicCategory, window)
     Phonon.createPath(self.media_object, self.audio_output)
     self.filename_list = []
示例#26
0
 def play(self, filepath):
     global video_widget
     media_source = Phonon.MediaSource(filepath)
     media_obj = Phonon.MediaObject()
     media_obj.setCurrentSource(media_source)
     video_widget = Phonon.VideoWidget()
     Phonon.createPath(media_obj, video_widget)
     audio_out = Phonon.AudioOutput(Phonon.VideoCategory)
     Phonon.createPath(media_obj, audio_out)
     video_widget.show()
     media_obj.play()
示例#27
0
def init_video(main_window):
    file_path = Utilities.OUTPUT_FOLDER + Utilities.CAMERA_FILE
    media_src = Phonon.MediaSource(file_path)
    main_window.media_obj = Phonon.MediaObject(main_window.wdgVideo)
    main_window.media_obj.setCurrentSource(media_src)
    main_window.video_widget = Phonon.VideoWidget(main_window.wdgVideo)
    Phonon.createPath(main_window.media_obj, main_window.video_widget)
    main_window.video_widget.setGeometry(main_window.wdgVideo.geometry())
    main_window.video_widget.show()
    main_window.media_obj.play()
    main_window.media_obj.pause()
示例#28
0
 def play(self, filepath):
     global video_widget
     media_source = Phonon.MediaSource(filepath)
     media_obj = Phonon.MediaObject()
     media_obj.setCurrentSource(media_source)
     video_widget = Phonon.VideoWidget()
     Phonon.createPath(media_obj, video_widget)
     audio_out = Phonon.AudioOutput(Phonon.VideoCategory)
     Phonon.createPath(media_obj, audio_out)
     video_widget.show()
     media_obj.play()
示例#29
0
文件: home.py 项目: khanafeer/QCaller
 def __init__(self):
     Home.server = requests.session()
     self.output = Phonon.AudioOutput(Phonon.MusicCategory)
     self.m_media = Phonon.MediaObject()
     Phonon.createPath(self.m_media, self.output)
     QObject.connect(self.m_media, SIGNAL('finished()'),
                     self.enqueueNextSource)
     self.home = HomeView()
     self.home.showNormal()
     self.home.setWindowTitle(u'customers caller app')
     self.home.label.setText(u"غير متصل")
     self.WS_OPEN()
示例#30
0
 def delayedInit(self):
     """
     from http://techbase.kde.org/Development/Tutorials/Phonon/Introduction/Python
     """
     if not self.m_media:
         self.m_media = Phonon.MediaObject(self)
         audioOutput = Phonon.AudioOutput(Phonon.MusicCategory, self)
         Phonon.createPath(self.m_media, audioOutput)
         self.m_media.setCurrentSource(
             Phonon.MediaSource(\
                 self.separateInstance.files['inputAudioFilename']))
         self.m_media.prefinishMarkReached.connect(self.playStop)
示例#31
0
 def delayedInit(self):
     """
     from http://techbase.kde.org/Development/Tutorials/Phonon/Introduction/Python
     """
     if not self.m_media:
         self.m_media = Phonon.MediaObject(self)
         audioOutput = Phonon.AudioOutput(Phonon.MusicCategory, self)
         Phonon.createPath(self.m_media, audioOutput)
         self.m_media.setCurrentSource(
             Phonon.MediaSource(\
                 self.separateInstance.files['inputAudioFilename']))
         self.m_media.prefinishMarkReached.connect(self.playStop)
示例#32
0
    def __init__(self, parent, mediaFiles):
        """
        @type parent: QtGui.QWidget
        @type mediaFiles: gui.media.MediaFiles
        """
        self.mediaObject = Phonon.MediaObject(parent)
        self.audioOutput = Phonon.AudioOutput(Phonon.NotificationCategory, parent)
        Phonon.createPath(self.mediaObject, self.audioOutput)

        self._sounds = {
            JobStatus.FAILING: Phonon.MediaSource(mediaFiles.failing_sound_path()),
            JobStatus.OK: Phonon.MediaSource(mediaFiles.ok_sound_path()),
            }
示例#33
0
 def open(self):
     dialog = QFileDialog()
     dialog.setViewMode(QFileDialog.Detail)
     filename = dialog.getOpenFileName(self, 'Open audio file', '/home',
                                       "Audio Files (*.mp3 *.wav *.ogg)")[0]
     self.audio_output = Phonon.AudioOutput(Phonon.MusicCategory, self)
     Phonon.createPath(self.media_obj, self.audio_output)
     self.media_obj.setCurrentSource(Phonon.MediaSource(filename))
     self.media_obj.tick.connect(self.time_change)
     self.media_obj.totalTimeChanged.connect(self.total_time_change)
     self.media_obj.play()
     self.button.setEnabled(True)
     self.button.setText("Pause")
     self.horizontalSlider.setEnabled(True)
示例#34
0
    def create_media_object(self):
        """ Creates an instance of Phonon for playing songs in the parent
		application.

		PhononInstance.create_media_object() -> Phonon.MediaObject
		"""
        self._media_object = Phonon.MediaObject(self.parent)
        self._media_object.setTickInterval(1000)  # Set the tick time to 1 sec
        self._media_object.tick.connect(self.on_tick)
        self._media_object.prefinishMarkReached.connect(self.halfway_reached)
        self.audio_output = Phonon.AudioOutput(Phonon.MusicCategory,
                                               self.parent)
        Phonon.createPath(self._media_object, self.audio_output)
        return self._media_object
示例#35
0
	def create_media_object(self):
		""" Creates an instance of Phonon for playing songs in the parent
		application.

		PhononInstance.create_media_object() -> Phonon.MediaObject
		"""
		self._media_object = Phonon.MediaObject(self.parent)
		self._media_object.setTickInterval(1000) # Set the tick time to 1 sec
		self._media_object.tick.connect(self.on_tick)
		self._media_object.prefinishMarkReached.connect(self.halfway_reached)
		self.audio_output = Phonon.AudioOutput(
			Phonon.MusicCategory, self.parent)
		Phonon.createPath(self._media_object, self.audio_output)
		return self._media_object
示例#36
0
    def __init__(self, parent, mediaFiles):
        """
        @type parent: QtGui.QWidget
        @type mediaFiles: gui.media.MediaFiles
        """
        self.mediaObject = Phonon.MediaObject(parent)
        self.audioOutput = Phonon.AudioOutput(Phonon.NotificationCategory,
                                              parent)
        Phonon.createPath(self.mediaObject, self.audioOutput)

        self._sounds = {
            JobStatus.FAILING:
            Phonon.MediaSource(mediaFiles.failing_sound_path()),
            JobStatus.OK: Phonon.MediaSource(mediaFiles.ok_sound_path()),
        }
示例#37
0
 def open_file(self):
     dialog = QFileDialog()
     dialog.setViewMode(QFileDialog.Detail)
     self.filename = dialog.getOpenFileName(self,
          'Open audio file', '/home',
          "Audio Files (*.mp3 *.wav *.ogg)")[0]
     self.audio_output = Phonon.AudioOutput(Phonon.MusicCategory, self)
     Phonon.createPath(self.media_obj, self.audio_output)
     self.media_obj.setCurrentSource(Phonon.MediaSource(self.filename))
     self.media_obj.tick.connect(self._time_change)
     self.media_obj.totalTimeChanged.connect(self._total_time_change)
     self.media_obj.play()
     self.playButton.setText("Pause")
     self.seeker.setEnabled(True)
     self.playing = True
示例#38
0
 def __init__(self):
   super(MusicWidget, self).__init__()
   self.songs = []
   self.mediaObject = Phonon.MediaObject(self)
   self.mediaObject.finished.connect(self.onFinished)
   self.mediaObject.tick.connect(self.onTick)
   self.mediaObject.totalTimeChanged.connect(self.onTotalTimeChanged)
   self.output = Phonon.AudioOutput(Phonon.MusicCategory, self)
   self.output.setVolume(50)
   self.path = Phonon.createPath(self.mediaObject, self.output)
   self.setWindowTitle("Media Player")
   self.setObjectName("musicWidget")
   self.setStyleSheet("#musicWidget { background-color: white; }")
   self.setAttribute(QtCore.Qt.WA_DeleteOnClose)
   self.started = False
   self.prevSong = None
   self.rightWidget = QtGui.QWidget()
   self.rightLayout = QtGui.QVBoxLayout(self)
   self.groupbox = SongPlayingGroup("Your Songs:")
   self.rightLayout.addWidget(self.groupbox)
   self.rightGroup = URLDownloadingGroup(self)
   self.rightGroup.songAdded.connect(self.groupbox.onSongAdded)
   self.groupbox.playing.connect(self.onPlaying)
   mediaLayout = QtGui.QVBoxLayout()
   self.slider = Phonon.SeekSlider()
   self.slider.setMediaObject(self.mediaObject)
   self.sliderPressed = False
   buttonLayout = QtGui.QHBoxLayout()
   self.backButton = QtGui.QPushButton()
   self.backButton.setIcon(QtGui.QIcon(os.path.join(os.path.dirname(__file__), "images", "back.png")))
   self.backButton.setObjectName("backButton")
   self.backButton.setStyleSheet(style.multimediaButton("backButton"))
   self.backButton.setFont(StandardFont())
   self.backButton.clicked.connect(self.backTriggered)
   self.playing = False
   self.playButton = QtGui.QPushButton()
   self.playButton.setIcon(QtGui.QIcon(os.path.join(os.path.dirname(__file__), "images", "play.png")))
   self.playButton.setObjectName("playButton")
   self.playButton.setStyleSheet(style.multimediaButton("playButton"))
   self.playButton.setFont(StandardFont())
   self.playButton.clicked.connect(self.playTriggered)
   self.forwardButton = QtGui.QPushButton()
   self.forwardButton.setIcon(QtGui.QIcon(os.path.join(os.path.dirname(__file__), "images", "forward.png")))
   self.forwardButton.setObjectName("forwardButton")
   self.forwardButton.setStyleSheet(style.multimediaButton("forwardButton"))
   self.forwardButton.setFont(StandardFont())
   self.forwardButton.clicked.connect(self.forwardTriggered)
   self.timeLabel = QtGui.QLabel("--:--/--:--")
   self.timeLabel.setFont(StandardFont())
   buttonLayout.addWidget(self.backButton)
   buttonLayout.addWidget(self.playButton)
   buttonLayout.addWidget(self.forwardButton)
   buttonLayout.addStretch(1)
   buttonLayout.addWidget(self.timeLabel)
   mediaLayout.addWidget(self.slider)
   mediaLayout.addLayout(buttonLayout)
   self.rightLayout.addLayout(mediaLayout)
   self.rightLayout.addLayout(self.rightGroup)
示例#39
0
 def play_sound(self, alias):
     """ Plays a sound
     
     Arguments:
         alias (str): The name of a sound file alias as specified in a .qrc
                      file, eg "mysound.wav"
     """
     speakers = Phonon.AudioOutput(Phonon.MusicCategory, self)
     media   = Phonon.MediaObject(self)
     speakers.setVolume(0.5)
     Phonon.createPath(media, speakers)
     media.setCurrentSource( ":/{}".format(alias) )
     ### If we let the media file play all the way through, we get a nasty 
     ### static squelch at the end.  Set it to stop playing 30 milliseconds 
     ### before the end.
     media.setPrefinishMark(30)
     media.prefinishMarkReached.connect( media.stop )
     media.play()
示例#40
0
    def __init__(self):
        #QtGui.QWidget.__init__(self)
        super(QPlayer, self).__init__()
        self.audioOuptut = Phonon.AudioOutput(Phonon.MusicCategory, self)
        self.player = Phonon.MediaObject(self)
        Phonon.createPath(self.player, self.audioOuptut)

        self.videoWidget = Phonon.VideoWidget(self)
        Phonon.createPath(self.player, self.videoWidget)

        self.player.setTickInterval(1000)
        self.connect(self.player, QtCore.SIGNAL("tick(qint64)"), self.tick)

        self.seekSlider = Phonon.SeekSlider(self.player, self)
        self.volumeSlider = Phonon.VolumeSlider(self.audioOuptut, self)

        self.buildGUI()
        self.setupConnections()
示例#41
0
 def play_sound(self, alias):
     """ Plays a sound
     
     Arguments:
         alias (str): The name of a sound file alias as specified in a .qrc
                      file, eg "mysound.wav"
     """
     speakers = Phonon.AudioOutput(Phonon.MusicCategory, self)
     media   = Phonon.MediaObject(self)
     speakers.setVolume(0.5)
     Phonon.createPath(media, speakers)
     media.setCurrentSource( ":/{}".format(alias) )
     ### If we let the media file play all the way through, we get a nasty 
     ### static squelch at the end.  Set it to stop playing 30 milliseconds 
     ### before the end.
     media.setPrefinishMark(30)
     media.prefinishMarkReached.connect( media.stop )
     media.play()
示例#42
0
    def __init__(self):
        super(mediaObject,self).__init__()
        import os
        import sys
        path = os.path.abspath(os.path.dirname(sys.argv[0]))
        path2 = ''
        for index in xrange(len(path)):
            if path[index]=='\\':
                path2 += '/'
            else:
                path2 += path[index]

        path = path2+'/Fire.wav'
        self.media2 = Phonon.MediaObject(self)
        self.media2.setCurrentSource(Phonon.MediaSource())
        self.output = Phonon.AudioOutput(Phonon.MusicCategory,self)
        Phonon.createPath(self.media2, self.output)
        self.media2.setCurrentSource(Phonon.MediaSource(path))
示例#43
0
    def __init__(self):
        #QtGui.QWidget.__init__(self)
        super(QPlayer, self).__init__()
        self.audioOuptut=Phonon.AudioOutput(Phonon.MusicCategory, self)
        self.player=Phonon.MediaObject(self)
        Phonon.createPath(self.player, self.audioOuptut)

        self.videoWidget=Phonon.VideoWidget(self)
        Phonon.createPath(self.player, self.videoWidget)

        self.player.setTickInterval(1000)
        self.connect(self.player, QtCore.SIGNAL("tick(qint64)"), self.tick)

        self.seekSlider=Phonon.SeekSlider(self.player, self)
        self.volumeSlider=Phonon.VolumeSlider(self.audioOuptut, self)

        self.buildGUI()
        self.setupConnections()
    def agregaCustomVideo(self):
        largo = 1904
        if self.settingsPantallas[self.pantalla][2] == None:
            self.settingsPantallas[self.pantalla][2] = 1
        multiplicador = self.settingsPantallas[self.pantalla][2]
        if multiplicador == 2:
            largo = 3820
        if multiplicador == 3:
            largo = 5740
        if multiplicador == 4:
            largo = 7660
        customVideo, _ = QFileDialog.getOpenFileName(self, 'Cargar video')
        self.pantallaActiva.frame.setGeometry(0, 0, largo, 1050)
        self.pantallaActiva.titleFrame.setVisible(False)
        self.pantallaActiva.graphFrame.setVisible(False)
        self.pantallaActiva.fotosFrame.setVisible(False)
        #self.pantallaActiva.mapFrame.setGeometry(0,0,1900,1050)

        self.controlesVideo.setVisible(True)
        #self.pantallaActiva.mapFrame.setGeometry(0,0,1900,1050)

        media_src = Phonon.MediaSource(customVideo)
        self.pantallaActiva.media_obj = Phonon.MediaObject(
            self.pantallaActiva.frame)
        self.pantallaActiva.media_obj.setCurrentSource(media_src)

        self.pantallaActiva.video_widget = Phonon.VideoWidget(
            self.pantallaActiva.frame)

        self.pantallaActiva.video_widget.setGeometry(0, 0, largo, 1050)
        Phonon.createPath(self.pantallaActiva.media_obj,
                          self.pantallaActiva.video_widget)

        audio_out = Phonon.AudioOutput(Phonon.VideoCategory)
        Phonon.createPath(self.pantallaActiva.media_obj, audio_out)

        self.pantallaActiva.video_widget.show()

        self.pantallaActiva.media_obj.play()

        self.settingsPantallas[self.pantalla][0] = "customVideo"
        self.settingsPantallas[self.pantalla][1] = customVideo
        self.settingsPantallas[self.pantalla][2] = multiplicador
    def __init__(self, settings):
        super(QPlayer, self).__init__()
        self.audioOuptut = Phonon.AudioOutput(Phonon.MusicCategory, self)
        self.player = Phonon.MediaObject(self)
        Phonon.createPath(self.player, self.audioOuptut)

        self.videoWidget = cVideoWidget()
        Phonon.createPath(self.player, self.videoWidget)

        self.player.setTickInterval(500)  #1000
        self.connect(self.player, QtCore.SIGNAL("tick(qint64)"), self.tick)

        self.seekSlider = Phonon.SeekSlider(self.player, self)
        self.volumeSlider = Phonon.VolumeSlider(self.audioOuptut, self)
        #self.volumeSlider.setMaximumVolume(0.35)

        self.buildGUI()
        self.setupConnections()
        self.init = True  # used to test before loading file when PLAY is pushed
示例#46
0
    def agregaCustomVideo(self):
        self.guion = False
        if self.settingsPantallas[
                self.pantallaActivaIndex]['multiplicador'] == None:
            self.settingsPantallas[
                self.pantallaActivaIndex]['multiplicador'] = 1

        multiplicador = self.settingsPantallas[
            self.pantallaActivaIndex]['multiplicador']
        self.extiendePantalla(multiplicador)
        largo = 1920 * multiplicador
        customVideo, _ = QFileDialog.getOpenFileName(self, 'Cargar video')

        #self.pantallaActiva.mapFrame.setGeometry(0,0,1900,1050)

        self.controlesVideo.setVisible(True)
        #self.pantallaActiva.mapFrame.setGeometry(0,0,1900,1050)

        media_src = Phonon.MediaSource(customVideo)
        self.pantallaActiva.media_obj = Phonon.MediaObject(
            self.pantallaActiva.frame)
        self.pantallaActiva.media_obj.setCurrentSource(media_src)

        self.pantallaActiva.video_widget = Phonon.VideoWidget(
            self.pantallaActiva.frame)

        self.pantallaActiva.video_widget.setGeometry(0, 0, largo, 1080)
        Phonon.createPath(self.pantallaActiva.media_obj,
                          self.pantallaActiva.video_widget)

        audio_out = Phonon.AudioOutput(Phonon.VideoCategory)
        Phonon.createPath(self.pantallaActiva.media_obj, audio_out)

        self.pantallaActiva.video_widget.show()

        self.pantallaActiva.media_obj.play()

        self.settingsPantallas[
            self.pantallaActivaIndex]['type'] = "customVideo"
        self.settingsPantallas[self.pantallaActivaIndex]['path'] = customVideo
        self.settingsPantallas[
            self.pantallaActivaIndex]['multiplicador'] = multiplicador
示例#47
0
文件: player.py 项目: Stebalien/Mist
    def __init__(self, viewPane, parent):
        QtCore.QObject.__init__(self, parent)
        self.sqlaSession = SqlaSession()

        self.audioOutput = Phonon.AudioOutput(Phonon.MusicCategory, self)
        self.songObject = Phonon.MediaObject(self)
        self.songObject.setTickInterval(1000)
        self.currentSong = None
        self.queuedSources = []
        self.previousSources = []
        self.songList = []
        self.loopPlayback = True
        self.randomPlayback = True
        self.viewPane = viewPane

        self.songObject.stateChanged.connect(self.stateChanged)
        self.songObject.currentSourceChanged.connect(self.sourceChanged)
        self.songObject.aboutToFinish.connect(self.aboutToFinish)

        Phonon.createPath(self.songObject, self.audioOutput)
示例#48
0
文件: test.py 项目: skarone/PipeL
	def __init__(self, parent = None):
		QtGui.QWidget.__init__(self, parent)
		self.media = Phonon.MediaObject(self)
		self.media.stateChanged.connect(self.handleStateChanged)
		self.video = Phonon.VideoWidget(self)
		self.video.setMinimumSize(400, 400)
		self.audio = Phonon.AudioOutput(Phonon.VideoCategory, self)
		Phonon.createPath(self.media, self.audio)
		Phonon.createPath(self.media, self.video)
		self.button = QtGui.QPushButton('Choose File', self)
		self.buttonPlay = QtGui.QPushButton('Play', self)
		self.buttonPlay.clicked.connect(self.play)
		self.button.clicked.connect(self.handleButton)
		self.list = QtGui.QListWidget(self)
		self.list.addItems(Phonon.BackendCapabilities.availableMimeTypes())
		layout = QtGui.QVBoxLayout(self)
		layout.addWidget(self.video, 1)
		layout.addWidget(self.button)
		layout.addWidget(self.buttonPlay)
		layout.addWidget(self.list)
示例#49
0
    def __init__(self):
        """

            Ticks are not implemented because we don't need them but in case we do it is fairly simple.

        """
        super().__init__()

        # set up audio output and media object and connect both
        self.audio_output = Phonon.AudioOutput(Phonon.MusicCategory, self)
        self.media_object = Phonon.MediaObject(self)
        Phonon.createPath(self.media_object, self.audio_output)

        # connect signal of media object
        self.media_object.stateChanged.connect(self.state_changed)
        self.media_object.aboutToFinish.connect(self.before_finish)

        # default values
        self.playlist = []
        self.auto_rewind = True
示例#50
0
    def __init__(self, parent=None):
        """
            Setups the sound system.
            Ticks are not implemented because we don't need them but in case we do it is fairly simple.

            TODO what if there are no sound capabilities, is this sure at this point that we have them?
        """
        super().__init__(parent=parent)

        # set up audio output and media object and connect both
        self.audio_output = Phonon.AudioOutput(Phonon.MusicCategory, self)
        self.media_object = Phonon.MediaObject(self)
        Phonon.createPath(self.media_object, self.audio_output)

        # connect signal of media object
        self.media_object.stateChanged.connect(self.state_changed)
        self.media_object.aboutToFinish.connect(self.before_finish)

        # default values
        self.playlist = []
        self.auto_rewind = True
        self.song_index = 0
示例#51
0
    def init_video(self):
        file_path = "P:/insideAnim/educ/masters/animation/05_creatures/01_creatures_workshop/video/creatures_tiger_walk_steps_up_hss_002.mp4"
        media_src = Phonon.MediaSource(file_path)

        media_obj = Phonon.MediaObject()
        media_obj.setCurrentSource(media_src)

        video_widget = Phonon.VideoWidget()
        self.layout().addWidget(video_widget)

        audio_out = Phonon.AudioOutput(Phonon.VideoCategory)

        Phonon.createPath(media_obj, audio_out)
        Phonon.createPath(media_obj, video_widget)

        # self.widget = video_widget

        video_widget.show()
        media_obj.play()
        video_widget.resize(500, 400)

        print video_widget
示例#52
0
 def __init__(self):
     QtGui.QWidget.__init__(self)
     self.setWindowTitle('Video Player')
     self.media = Phonon.MediaObject(self)
     self.video = Phonon.VideoWidget(self)
     self.video.setMinimumSize(400, 400)
     self.audio = Phonon.AudioOutput(Phonon.VideoCategory, self)
     Phonon.createPath(self.media, self.audio)
     Phonon.createPath(self.media, self.video)
     self.buttonChoose = QtGui.QPushButton('Choose File', self)
     self.buttonMimes = QtGui.QPushButton('Show Mimetypes', self)
     self.slider = Phonon.VolumeSlider(self)
     self.slider.setAudioOutput(self.audio)
     layout = QtGui.QGridLayout(self)
     layout.addWidget(self.video, 0, 0, 1, 2)
     layout.addWidget(self.buttonChoose, 1, 0)
     layout.addWidget(self.buttonMimes, 1, 1)
     layout.addWidget(self.slider, 2, 0, 1, 2)
     layout.setRowStretch(0, 1)
     self.media.stateChanged.connect(self.handleStateChanged)
     self.buttonChoose.clicked.connect(self.handleButtonChoose)
     self.buttonMimes.clicked.connect(self.handleButtonMimes)
示例#53
0
    def __init__(self, parent=None):
        QMainWindow.__init__(self, parent)

        # create two video widgets
        central = QWidget(self)
        self.setCentralWidget(central)
        layout = QHBoxLayout(central)
        central.setLayout(layout)
        self.left_video = Phonon.VideoWidget(self)
        self.right_video = Phonon.VideoWidget(self)
        layout.addWidget(self.left_video)
        layout.addWidget(self.right_video)

        # the media object controlling the video playback
        self.media = Phonon.MediaObject(self)
        # the audio sink
        self.audio = Phonon.AudioOutput(Phonon.VideoCategory, self)
        # connect the media object with audio and *left* video
        Phonon.createPath(self.media, self.audio)
        Phonon.createPath(self.media, self.left_video)
        # holds the Path object, that connects self.media with self.right_video
        self.right_path = None

        self.actions_toolbar = self.addToolBar('Actions')
        self._actions = {}
        for name, label, icon_name in self.ACTIONS:
            if icon_name:
                icon = self.style().standardIcon(icon_name)
                action = QAction(icon, label, self)
            else:
                action = QAction(label, self)
            action.setObjectName(name)
            if name in ('play', 'pause', 'stop'):
                action.triggered.connect(getattr(self.media, name))
            else:
                action.triggered.connect(getattr(self, name))
            self.actions_toolbar.addAction(action)
        self._action('remove_right_video').setEnabled(False)
示例#54
0
    def setUp(self):
        super(TestSimplePlaying, self).setUp()
        self.app.setApplicationName('Dummy')
        self.source = Phonon.MediaSource(sample_file)
        self.media = Phonon.MediaObject()
        self.media.setCurrentSource(self.source)

        self.media.finished.connect(self.app.quit)
        self.called = False

        # prevent locking with:
        # request to play a stream, but no valid audio ...
        self.output = Phonon.AudioOutput()
        self.path = Phonon.createPath(self.media, self.output)
示例#55
0
 def __init__(self):
     super(Reproductor, self).__init__(parent=None)
     self.setWindowTitle("Python Simple Player")
     self.gridLayout = QtGui.QGridLayout(self)
     loader = QtUiTools.QUiLoader()
     file = QtCore.QFile("repro.ui")
     file.open(QtCore.QFile.ReadOnly)
     self.ui = loader.load(file, self)
     file.close()
     self.gridLayout.addWidget(self.ui, 0, 0, 1, 1)
     # seccion multimedia
     self.audioOutput = Phonon.AudioOutput(Phonon.MusicCategory, self)
     self.mediaObject = Phonon.MediaObject(self)
     Phonon.createPath(self.mediaObject, self.audioOutput)
     self.mediaObject.setTickInterval(1000)
     #
     self.ui.lcdAvance.display("00:00")
     QtCore.QObject.connect(self.ui.btnArchivo, QtCore.SIGNAL("clicked()"),
                            self.openFile)
     QtCore.QObject.connect(self.ui.btnPlay, QtCore.SIGNAL("clicked()"),
                            self.play)
     self.mediaObject.tick.connect(self.alAvanzar)
     self.mediaObject.stateChanged.connect(self.alCambiarEstado)
示例#56
0
 def __init__(self):
     QtGui.QWidget.__init__(self)
     self.setWindowTitle('Speech Intelligibility Test')
     self.resize(800, 100)
     self.media = Phonon.MediaObject(self)
     self.audio = Phonon.AudioOutput(Phonon.MusicCategory, self)
     Phonon.createPath(self.media, self.audio)
     self.buttonStart = QtGui.QPushButton('Start', self)
     self.slider = Phonon.VolumeSlider(self)
     self.slider.setAudioOutput(self.audio)
     self.entry = QtGui.QLineEdit()
     self.entry.setEnabled(False)
     entryFont = QtGui.QFont("Times", 18)
     self.entry.setFont(entryFont)
     layout = QtGui.QGridLayout(self)
     layout.addWidget(self.entry, 0, 0, 1, 2)
     layout.addWidget(self.buttonStart, 1, 1)
     layout.addWidget(self.slider, 1, 0)
     layout.setRowStretch(0, 1)
     self.media.stateChanged.connect(self.handleStateChanged)
     self.media.finished.connect(self.handleSampleFinished)
     self.buttonStart.clicked.connect(self.handleButtonStart)
     self.entry.returnPressed.connect(self.handleSaveEntry)
示例#57
0
    def test_phonon():
        from PySide.phonon import Phonon
        a = app()

        # http://qt-project.org/doc/qt-4.8/phonon-overview.html#audio
        url = "z:/Users/jichi/tmp/test.mp3"
        print os.path.exists(url)
        mo = Phonon.MediaObject()
        audioOutput = Phonon.AudioOutput(Phonon.MusicCategory)
        path = Phonon.createPath(mo, audioOutput)

        #mo.setCurrentSource(Phonon.MediaSource(url))
        mo.setCurrentSource(url)
        print mo.play()

        a.exec_()
示例#58
0
    def setupUi(self, parent):
        """
        Overridden setup UI method.
        :type parent: MainApp
        """
        super(MainApp, self).setupUi(parent)
        self.videoNameLlb.setText(str(self.video.name))
        self.zoomlSlider.setMinimumWidth(50)
        self.userLbl.setText(self.user.email)
        self.setWindowFlags(self.windowFlags() ^ Qt.WindowContextHelpButtonHint)
        self.setWindowTitle(self.windows_title)

        # fill video properties
        self.videoTable.setItem(0, 1, QTableWidgetItem(self.video.name))
        self.videoTable.setItem(1, 1, QTableWidgetItem(self.video.filename))
        self.videoTable.setItem(2, 1, QTableWidgetItem(str(self.video.width) + "x" + str(self.video.height)))
        self.videoTable.setItem(3, 1, QTableWidgetItem("%s fps (%s frames)" % (self.video.fps, self.video.frame_count)))
        timeInSec = self.video.duration
        ms = round((timeInSec - int(timeInSec)) * 1000)
        if ms >= 1000:
            ms = 0
            timeInSec += 1
        hms = time.strftime('%H:%M:%S', time.gmtime(timeInSec))
        self.timeLbl.setText("%s:%03d" % (hms, ms))
        self.videoTable.setItem(4, 1, QTableWidgetItem("%s.%03d" % (hms, ms)))
        self.videoTable.setItem(5, 1, QTableWidgetItem("No" if self.video.is_finished else "Yes"))

        # setup annotation table geometry
        header = self.annotationsTable.horizontalHeader()
        header.setResizeMode(0, QHeaderView.Interactive)
        header.setResizeMode(1, QHeaderView.Stretch)
        header.setResizeMode(2, QHeaderView.ResizeToContents)
        self.annotationsTable.setColumnWidth(0, 230)
        self.annotationsTable.setColumnWidth(2, 35)

        # setup nonVis annotation table
        self.nonVisTable.setMouseTracking(True)
        font = self.nonVisTable.font()
        font.setPixelSize(self.SMALL_FONT)
        self.nonVisTable.setFont(font)
        header = self.nonVisTable.verticalHeader()
        header.setResizeMode(QHeaderView.ResizeToContents)
        header = self.nonVisTable.horizontalHeader()
        header.setResizeMode(QHeaderView.Fixed)

        # graphicsView init
        self.scene = graphics.GraphicsScene(self)
        self.graphicsView.setStyleSheet("background: #000000")
        self.graphicsView.setAlignment(Qt.AlignLeft | Qt.AlignTop)
        self.graphicsView.setScene(self.scene)
        self.graphicsView.resizeEvent = self.graphicsViewResizeEvent
        self.graphicsView.setTransformationAnchor(QGraphicsView.AnchorUnderMouse)
        self.videoGridLayout.setAlignment(self.graphicsView, Qt.AlignCenter)

        # Setup multimedia player
        path = os.path.join(self.rootPath, 'data', 'video', self.video.filename)
        self.audioOuptut = Phonon.AudioOutput(Phonon.MusicCategory, self)
        self.videoWidget = Phonon.VideoWidget()
        self.player = videoplayer.VideoPlayer(self, path)
        Phonon.createPath(self.player, self.audioOuptut)
        Phonon.createPath(self.player, self.videoWidget)
        self.playerProxy = self.scene.addWidget(self.videoWidget)
        self.playerProxy.setVisible(False)
        self.scene.video_size = self.playerProxy.size()

        # setup player controls
        self.mainSeekSlider = videoplayer.MainVideoSeeker(self)
        self.mainSeekSlider.setMinimumWidth(100)
        self.volumeSlider = Phonon.VolumeSlider(self.audioOuptut)
        self.volumeSlider.setFixedWidth(100)
        self.mainVideoBarHLayout.addWidget(self.mainSeekSlider)
        self.mainVideoBarHLayout.addWidget(self.volumeSlider)
        self.playPauseBtn.setFocus()
        self.stopBtn.setVisible(False)      # if not hide and later show -> paint update of player wont work properly!

        # status bar
        self.fpsLabel = QLabel("Frame #0")
        self.statusbar.addPermanentWidget(self.fpsLabel)

        # icons
        zoom_icon = QPixmap(":/icons/icons/zoom.png").scaled(QSize(16, 16), Qt.IgnoreAspectRatio, Qt.SmoothTransformation)
        self.zoomLbl.setPixmap(zoom_icon)
        db_icon = QPixmap(":/icons/icons/database.png").scaled(QSize(16, 16), Qt.IgnoreAspectRatio, Qt.SmoothTransformation)
        self.db_status = QLabel()
        self.db_status.setPixmap(db_icon)
        self.db_status.setMinimumWidth(25)
        self.db_status.setAlignment(Qt.AlignCenter)
        self.statusbar.addPermanentWidget(self.db_status)