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()
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 = []
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()
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()
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)
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
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()
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()
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 = []
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()
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)
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()
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)
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')
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)
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)
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)
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)
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);
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
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()
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()
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()
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)
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()), }
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)
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
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
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
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)
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()
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 __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))
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
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
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)
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)
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
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
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
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)
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)
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)
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)
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)
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_()
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)