Esempio n. 1
0
    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()
Esempio n. 2
0
    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()
Esempio n. 3
0
    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);
Esempio n. 4
0
 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)
Esempio n. 5
0
 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
Esempio n. 6
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))
Esempio n. 9
0
    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()
Esempio n. 10
0
 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)
Esempio n. 11
0
    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()
Esempio n. 12
0
    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)
Esempio n. 13
0
    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)
Esempio n. 14
0
 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()
Esempio n. 15
0
    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)
Esempio n. 16
0
 def add_song(self, song_file):
     sanitized = str(song_file).replace("\\", "/")
     url = QtCore.QUrl(sanitized)
     content = QtMultimedia.QMediaContent(url)
     self.playlist.addMedia(content)