def play(self): if self.pathToCSV is None: self.addHeatMap() if self.pathToFile is None: self.addVideo() self.video = Media.QMediaContent(QtCore.QUrl.fromLocalFile(self.pathToFile)) self.mediaPlayer.setMedia(self.video) else: self.video = Media.QMediaContent(QtCore.QUrl.fromLocalFile(self.pathToFile)) self.mediaPlayer.setMedia(self.video) self.mediaPlayer.setPosition(self.pausedPosition) self.mediaPlayer.play()
def soundPlay(self, sound_name): path = dir_mix(Space["root"], path_read(self.sound_Actions[sound_name]["path"])) url = QtCore.QUrl.fromLocalFile(path) self.sound.setMedia(QtMultimedia.QMediaContent(url)) self.sound.play()
def add_files(self,paths,playlist_name): print("addint to ",playlist_name) paths = [path for path in paths]; for path in paths: break; print(path, playlist_name) saving_playlist = True saving_to_library = False; if playlist_name == "Library": saving_playlist = False; saving_to_library = True else : self.add_files(paths,"Library") if playlist_name == "Now Playing": saving_playlist = False; cur_playlist = self._playlists[playlist_name] cur_playlist_mdata = self._playlists_mdata[playlist_name] for path in paths: mdata = AudioMetadata(path) if not saving_to_library or path not in self._library_set: n_media = QtMultimedia.QMediaContent(QtCore.QUrl.fromLocalFile(path)); cur_playlist.addMedia(n_media) cur_playlist_mdata.append(mdata); if saving_to_library : self._library_set.add(path); mdata.dbase_id = self.add_song_to_database(mdata); if saving_playlist: self.add_song_to_database_playlist(mdata,cur_playlist); if saving_playlist: self.database_con.commit(); print("finished adding to ",playlist_name) self.playlistUpdated.emit(playlist_name);
def _doPlayMusicAtIndex(self, index: int) -> None: self._logger.info("Do play music at index: %d", index) assert index >= 0 playlist = self.getCurrentPlaylist().orElseThrow(AssertionError) music = playlist.musics[index] self._logger.info("Prepare to play music %s : %s", music.artist, music.title) self._logger.info("Stop current playing if exist") self._proxy.stop() self._logger.info("Current playing stopped") self._logger.info("Set music content: %s", music.filename) self._proxy.blockSignals(True) self._proxy.setMedia(QtMultimedia.QMediaContent( QtCore.QUrl.fromLocalFile(music.filename)), realDuration=music.duration) self._sampleWidth = 0 self._samples = array.array("i") threading.Thread(target=self._setupSamples, args=(music.filename, )).start() self._proxy.blockSignals(False) self._logger.info("Music content set to player.") self._logger.info("Update current music index") self.setCurrentMusicIndex(index) self._logger.info("Now start to play music...") self._proxy.play() self._logger.info("Music play started.") self._playedCount += 1 self._logger.info("Played count now: %d", self._playedCount)
def set_video(self, video): self.video = video if isinstance(video, pathlib.Path) or isinstance(video, str): video = QtCore.QUrl.fromLocalFile(str(video)) if isinstance(video, QtCore.QUrl): video = QtMultimedia.QMediaContent(video) self.mediaPlayer.setMedia(video) self.frame_number = 0
def set_file(self, url): if url.scheme() == '': url.setScheme('file') self.label.setText(url.fileName()) content = qtmm.QMediaContent(url) # self.player.setMedia(content) self.playlist = qtmm.QMediaPlaylist() self.playlist.addMedia(content) self.playlist.setCurrentIndex(1) self.player.setPlaylist(self.playlist) self.loop_cb.setChecked(False)
def load_directory(self, song_dir): home = pathlib.Path(song_dir) files = (element for element in home.iterdir() if element.is_file() and element.name.endswith(".mp3")) for fake_id, file in enumerate(files): url = QtCore.QUrl(file.as_posix()) media = QtMultimedia.QMediaContent(url) self.playlist.addMedia(media) print(f"{self.playlist.mediaCount()}") MockDomain.Generate(song_dir)
def Generate(cls, song_dir): song_dir = pathlib.Path(song_dir) files = (file for file in song_dir.iterdir() if file.is_file() and file.name.endswith((".ogg", ".mp3"))) for file in files: url = QtCore.QUrl(file.as_posix()) media = QtMultimedia.QMediaContent(url) meta = mutagen.File(file.as_posix()) # probe = FFProbe(file) cls.data.append(MockRecord(meta, file))
def load(self, path): fullpath = QtCore.QDir.current().absoluteFilePath(path) mediaContent = QtMultimedia.QMediaContent( QtCore.QUrl.fromLocalFile(fullpath)) self.content = QtMultimedia.QMediaPlayer(stage.canvasWidget) self.content._mediaStatusChangedSlot = lambda status: self._onMediaStatusChanged( status) self.content.mediaStatusChanged.connect( self.content._mediaStatusChangedSlot) self.content._errorSlot = lambda err: self_onError(err) self.content.error.connect(self.content._errorSlot) self.content.setMedia(mediaContent) self.content.stop()
def setCurrentIndex(self, index): self.currentIndex = index if index > -1: music = self.musics[index] self.player.blockSignals(True) self.player.setMedia( QtMultimedia.QMediaContent( QtCore.QUrl.fromLocalFile(str(music.path)))) self.player.blockSignals(False) if self.historyIndex == -1 and len(self.history) == 0: self.history[self.historyIndex] = index else: self.player.blockSignals(True) self.player.stop() self.player.blockSignals(False) self.currentIndexChanged.emit(index)
def open_song(self): print("load song to playlist") fileDialog = QtWidgets.QFileDialog(self.view) supportedMimeTypes = [ 'audio/mpeg', 'application/ogg', 'application/octet-stream' ] fileDialog.setMimeTypeFilters(supportedMimeTypes) # fileDialog.setFileMode(fileDialog.Directory & fileDialog.ExistingFile) if fileDialog.exec_() == QtWidgets.QDialog.Accepted: files = fileDialog.selectedFiles() for file in files: print("Adding", file) url = QtCore.QUrl(file) content = QtMultimedia.QMediaContent(url) self.playlist.addMedia(content) self.player.play()
def openFile(self): fileName, _ = QtWidgets.QFileDialog.getOpenFileName( self, "Open Reference", QtCore.QDir.homePath()) if fileName: # STORE META DATA self.videoMeta.path = fileName self.videoMeta.frameCount = self.getFrames(fileName) # SET MEDIA FILE self.mediaPlayer.setMedia( QtMultimedia.QMediaContent( QtCore.QUrl.fromLocalFile(fileName))) self.mediaPlayer.play() self.mediaPlayer.pause() for btn in [ self.playButton, self.backToStartButton, self.frameBackButton, self.frameForwardButton, self.toEndButton ]: btn.setEnabled(True)
def set_array(self, arr, samplerate): """ :param arr: A float numpy array of rank 1 :param samplerate: In Hz Given an audio array and its samplerate, converts it to a QStream and sets this player's media to the stream. Automatically handles opening and closing of streams. :param qstream: A ``QtCore.QBuffer()`` containing the wav data. It can be obtained from a numpy array via ``wavarr_to_qstream(arr, sr)`` Closes current stream if exists, then opens the given ``qstream`` in the given ``mode``, and calls ``setMedia`` on the given ``qstream``. """ if self.current_qstream is not None: self.current_qstream.close() self.current_qstream = QStream(arr, samplerate) self.current_qstream.open() self.media_player.setMedia(QtMultimedia.QMediaContent(), self.current_qstream)
def on_file_selected(self, item): fn = item.text() url = qtc.QUrl.fromLocalFile(self.video_dir.filePath(fn)) content = qtmm.QMediaContent(url) self.player.setMedia(content) self.player.play()
def __init__(self): super(myplayer, self).__init__() self.ui = Ui_musicplayer() self.ui.setupUi(self) self.setFixedSize(440, 460) self.ui.config.clicked.connect(self.menu_config) #******************# # play/pause #******************# self.ui.play_button.clicked.connect(self.play) self.onplay = 0 self.iconpausa = QtGui.QIcon() self.iconpausa.addPixmap(QtGui.QPixmap(":/neuron_music/img/pausa.png"), QtGui.QIcon.Normal, QtGui.QIcon.On) self.iconplay = QtGui.QIcon() self.iconplay.addPixmap(QtGui.QPixmap(":/neuron_music/img/play.png"), QtGui.QIcon.Normal, QtGui.QIcon.On) #******************# # playlist #******************# self.player = QtMultimedia.QMediaPlayer() self.path = list() try: if system == "Windows": self.musicpath = os.listdir(CURRENT_DIR + r'\records') for i in self.musicpath: self.path.append(CURRENT_DIR + r'\records' + "\\" + i) elif system == "Linux": self.musicpath = os.listdir(CURRENT_DIR + '/records') for i in self.musicpath: self.path.append(CURRENT_DIR + '/records/' + i) except: pass self.playlist = QtMultimedia.QMediaPlaylist() self.player.setPlaylist(self.playlist) for i in self.path: self.playlist.addMedia( QtMultimedia.QMediaContent(QtCore.QUrl.fromLocalFile(i))) self.ui.next_button.clicked.connect(self.playlist.next) self.ui.back_button.clicked.connect(self.playlist.previous) #******************# # playlist elementos texto/imagen #******************# self.playlist.currentMediaChanged.connect(self.songChanged) #******************# # volumen #******************# self.player.setVolume(80) self.ui.control_volumen.setMinimum(0) self.ui.control_volumen.setMaximum(100) self.ui.control_volumen.setValue(80) self.ui.control_volumen.valueChanged.connect(self.player.setVolume) #******************# # volume hiden #******************# self.volumen_r_l = self.ui.control_volumen self.volumen_r_l.lower() self.vol_buttom = 0 self.ui.img_volumen.mousePressEvent = self.hide_volumen #******************# # time #******************# self.ui.time_inicio.setStyleSheet('color:#ffffff;font-size:15px;') self.ui.time_final.setStyleSheet('color:#ffffff;font-size:15px;') self.ui.time_final.setFixedWidth(80) self.ui.slider_2.setValue(0) self.player.durationChanged.connect(self.cargar_duracion) self.player.positionChanged.connect(self.cargar_posicion) self.ui.slider_2.valueChanged.connect(self.player.setPosition)
def add_song(self, song_file): sanitized = str(song_file).replace("\\", "/") url = QtCore.QUrl(sanitized) content = QtMultimedia.QMediaContent(url) self.playlist.addMedia(content)