Add volume control
This commit is contained in:
parent
5d5e3c6888
commit
4a83f971f3
14 changed files with 144 additions and 32 deletions
|
|
@ -10,17 +10,20 @@ MusicController::MusicController(QObject *parent) : QObject(parent)
|
|||
mVlc = new VlcInstance(VlcCommon::args(), this);
|
||||
mModel = new MusicModel(mVlc, this);
|
||||
mPlayer = new VlcMediaListPlayer(mVlc);
|
||||
mVlcAudio = new VlcAudio(mPlayer->mediaPlayer());
|
||||
|
||||
connect(mModel, &MusicModel::navigateTo, this, &MusicController::navigateTo);
|
||||
connect(mModel, &MusicModel::navigateTo, [this](NavigationItemModel*){
|
||||
if(mModel->isPlaying()) mModel->playPause();
|
||||
connect(mModel, &MusicModel::navigateTo, this, &MusicController::onNavigationRequest);
|
||||
|
||||
//connect(mModel, &MusicModel::play, mPlayer, &VlcMediaListPlayer::play);
|
||||
connect(mModel, &MusicModel::play, [this](){
|
||||
mVlcAudio->setVolume(mModel->getAudioVolume());
|
||||
mPlayer->play();
|
||||
});
|
||||
|
||||
connect(mModel, &MusicModel::play, mPlayer, &VlcMediaListPlayer::play);
|
||||
connect(mModel, &MusicModel::stop, mPlayer, &VlcMediaListPlayer::stop);
|
||||
connect(mModel, &MusicModel::previous, mPlayer, &VlcMediaListPlayer::previous);
|
||||
connect(mModel, &MusicModel::next, mPlayer, &VlcMediaListPlayer::next);
|
||||
connect(mModel, &MusicModel::pause, mPlayer->mediaPlayer(), &VlcMediaPlayer::pause);
|
||||
connect(mModel, &MusicModel::audioVolumeChanged, mVlcAudio, &VlcAudio::setVolume);
|
||||
|
||||
connect(mPlayer, SIGNAL(nextItemSet(VlcMedia*)), mModel, SLOT(onNextMediaSet(VlcMedia*)));
|
||||
connect(mPlayer->mediaPlayer(), &VlcMediaPlayer::lengthChanged, mModel, &MusicModel::onLengthChanged);
|
||||
|
|
@ -33,6 +36,7 @@ MusicController::MusicController(QObject *parent) : QObject(parent)
|
|||
MusicController::~MusicController()
|
||||
{
|
||||
mPlayer->deleteLater();
|
||||
mVlcAudio->deleteLater();
|
||||
}
|
||||
|
||||
void MusicController::initPlayer(NavigationItemModel *item)
|
||||
|
|
@ -58,3 +62,11 @@ void MusicController::setContextProperties()
|
|||
if(!mContext) return;
|
||||
mContext->setContextProperty("musicModel", mModel);
|
||||
}
|
||||
|
||||
void MusicController::onNavigationRequest(NavigationItemModel *item)
|
||||
{
|
||||
if(mModel->isPlaying()) {
|
||||
mModel->playPause();
|
||||
}
|
||||
emit navigateTo(item);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue