zhongyang219 / MusicPlayer2

这是一款可以播放常见音频格式的音频播放器。支持歌词显示、歌词卡拉OK样式显示、歌词在线下载、歌词编辑、歌曲标签识别、Win10小娜搜索显示歌词、频谱分析、音效设置、任务栏缩略图按钮、主题颜色等功能。 播放内核为BASS音频库(V2.4)。
GNU General Public License v3.0
4.7k stars 377 forks source link

最小化时播放完当前音乐后专辑封面不切换 #212

Open jianyuyanyu opened 3 years ago

jianyuyanyu commented 3 years ago

最小化时播放完当前音乐后,任务栏专辑封面不切换,仍然显示最小化的时候播放的音乐专辑封面图,即使单击上一曲或者下一曲仍然不切换音乐专辑封面。

1. 系统:

zhongyang219 commented 3 years ago

抱歉,这个问题目前还无法解决

lrisora commented 3 years ago

https://github.com/zhongyang219/MusicPlayer2/issues/113#issuecomment-869145293

同时还有不在界面2时的缩略图显示。 开一个独立窗口显示缩略图专用可能能解决问题。

WindowsSMTCProvider::WindowsSMTCProvider() {
  LOG("Creating an empty and invisible window");

  // In order to create a SMTC-Provider, we need a hWnd, which shall be created
  // dynamically from an invisible window. This leads to the following
  // boilerplate code.
  WNDCLASS wnd{};
  wnd.lpszClassName = L"Firefox-MediaKeys";
  wnd.hInstance = nullptr;
  wnd.lpfnWndProc = DefWindowProc;
  GetLastError();  // Clear the error
  RegisterClass(&wnd);
  MOZ_ASSERT(!GetLastError());

  mWindow = CreateWindowExW(0, L"Firefox-MediaKeys", L"Firefox Media Keys", 0,
                            CW_USEDEFAULT, CW_USEDEFAULT, 0, 0, nullptr,
                            nullptr, nullptr, nullptr);
  MOZ_ASSERT(mWindow);
  MOZ_ASSERT(!GetLastError());
}

WindowsSMTCProvider::~WindowsSMTCProvider() {
  // Dispose the window
  MOZ_ASSERT(mWindow);
  if (!DestroyWindow(mWindow)) {
    LOG("Failed to destroy the hidden window. Error Code: %d", GetLastError());
  }
  if (!UnregisterClass(L"Firefox-MediaKeys", nullptr)) {
    // Note that this is logged when the class wasn't even registered.
    LOG("Failed to unregister the class. Error Code: %d", GetLastError());
  }
}

Firefox专门开了一个窗口用来挂SMTC。