mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2026-08-02 02:07:54 +00:00
Play video messages as Type::Voice.
Use AudioMsgId instead of videoPlayId. Any audio track now can be a child loader track of some video clip. Use Type::Voice instead of Type::Video for round video messages. Video messages play / pause / resume the same way as voice messages.
This commit is contained in:
@@ -1203,7 +1203,11 @@ void DocumentOpenClickHandler::doOpen(DocumentData *data, HistoryItem *context,
|
||||
if (playVoice) {
|
||||
auto state = Media::Player::mixer()->currentState(AudioMsgId::Type::Voice);
|
||||
if (state.id == AudioMsgId(data, msgId) && !Media::Player::IsStopped(state.state) && state.state != State::Finishing) {
|
||||
Media::Player::mixer()->pauseresume(AudioMsgId::Type::Voice);
|
||||
if (Media::Player::IsPaused(state.state) || state.state == State::Pausing) {
|
||||
Media::Player::mixer()->resume(state.id);
|
||||
} else {
|
||||
Media::Player::mixer()->pause(state.id);
|
||||
}
|
||||
} else {
|
||||
auto audio = AudioMsgId(data, msgId);
|
||||
Media::Player::mixer()->play(audio);
|
||||
@@ -1215,7 +1219,11 @@ void DocumentOpenClickHandler::doOpen(DocumentData *data, HistoryItem *context,
|
||||
} else if (playMusic) {
|
||||
auto state = Media::Player::mixer()->currentState(AudioMsgId::Type::Song);
|
||||
if (state.id == AudioMsgId(data, msgId) && !Media::Player::IsStopped(state.state) && state.state != State::Finishing) {
|
||||
Media::Player::mixer()->pauseresume(AudioMsgId::Type::Song);
|
||||
if (Media::Player::IsPaused(state.state) || state.state == State::Pausing) {
|
||||
Media::Player::mixer()->resume(state.id);
|
||||
} else {
|
||||
Media::Player::mixer()->pause(state.id);
|
||||
}
|
||||
} else {
|
||||
auto song = AudioMsgId(data, msgId);
|
||||
Media::Player::mixer()->play(song);
|
||||
@@ -1503,7 +1511,11 @@ void DocumentData::performActionOnLoad() {
|
||||
if (loaded()) {
|
||||
auto state = Media::Player::mixer()->currentState(AudioMsgId::Type::Voice);
|
||||
if (state.id == AudioMsgId(this, _actionOnLoadMsgId) && !Media::Player::IsStopped(state.state) && state.state != State::Finishing) {
|
||||
Media::Player::mixer()->pauseresume(AudioMsgId::Type::Voice);
|
||||
if (Media::Player::IsPaused(state.state) || state.state == State::Pausing) {
|
||||
Media::Player::mixer()->resume(state.id);
|
||||
} else {
|
||||
Media::Player::mixer()->pause(state.id);
|
||||
}
|
||||
} else if (Media::Player::IsStopped(state.state)) {
|
||||
Media::Player::mixer()->play(AudioMsgId(this, _actionOnLoadMsgId));
|
||||
if (App::main()) App::main()->mediaMarkRead(this);
|
||||
@@ -1513,7 +1525,11 @@ void DocumentData::performActionOnLoad() {
|
||||
if (loaded()) {
|
||||
auto state = Media::Player::mixer()->currentState(AudioMsgId::Type::Song);
|
||||
if (state.id == AudioMsgId(this, _actionOnLoadMsgId) && !Media::Player::IsStopped(state.state) && state.state != State::Finishing) {
|
||||
Media::Player::mixer()->pauseresume(AudioMsgId::Type::Song);
|
||||
if (Media::Player::IsPaused(state.state) || state.state == State::Pausing) {
|
||||
Media::Player::mixer()->resume(state.id);
|
||||
} else {
|
||||
Media::Player::mixer()->pause(state.id);
|
||||
}
|
||||
} else if (Media::Player::IsStopped(state.state)) {
|
||||
auto song = AudioMsgId(this, _actionOnLoadMsgId);
|
||||
Media::Player::mixer()->play(song);
|
||||
|
||||
Reference in New Issue
Block a user