首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在MCI中设置Wav文件音量(MCIWndSetVolum错误)

如何在MCI中设置Wav文件音量(MCIWndSetVolum错误)
EN

Stack Overflow用户
提问于 2021-03-22 16:05:24
回答 1查看 30关注 0票数 1

我正在使用lame库和MCI制作一个简单的音乐播放程序。将MP3文件解码成wav文件后,使用MCIWndCreate和MCIWndPlay播放音乐。所有功能都工作正常,但设置音量有问题。我找到并使用了一个名为MCIWndSetVolume(hWnd,iVol)的方法来设置音量。但我得到的错误如下。如果你知道问题出在哪部分,请给我一点建议。非常感谢你阅读并回答我的问题。错误消息->驱动程序无法识别指定的命令。

代码语言:javascript
复制
void CMP3PlayerDlg::Wav(CString strFileName)
{
    m_hWav = NULL;
    m_nowWav = strFileName;
    CString strWav;
    strWav.Format(WAV_FILE_PATH + strFileName);
    if(m_hWav == NULL)
    {
        m_hWav = MCIWndCreate(this->GetSafeHwnd(), AfxGetInstanceHandle(), WS_CHILD | WS_VISIBLE | MCIWNDF_NOMENU , strWav);
    }
    else
    {
        MCIWndHome(m_hWav);
    }
    MCIWndPlay(m_hWav);
    m_bPause = FALSE;
    m_btnPlay.EnableWindow(FALSE);
}

void CMP3PlayerDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
    // TODO: 여기에 메시지 처리기 코드를 추가 및/또는 기본값을 호출합니다.
    if(IDC_SLIDER_VOLUM == pScrollBar->GetDlgCtrlID())
    {
        int nPos = m_SliderVol.GetPos();
        CString strPos;
        strPos.Format("%d", nPos);
        m_EditVol.SetWindowText(strPos);
    }
    CDialogEx::OnHScroll(nSBCode, nPos, pScrollBar);
}





void CMP3PlayerDlg::OnEnChangeEditVolum()
{
    // TODO:  여기에 컨트롤 알림 처리기 코드를 추가합니다.
    CString strPos;
    m_EditVol.GetWindowText(strPos);
    int nPos = _ttoi(strPos);
    m_SliderVol.SetPos(nPos);
    MCIWndSetVolume(m_hWav, nPos);
}

这是一种使用播放和滑块的音量控制方法。

EN

回答 1

Stack Overflow用户

发布于 2021-03-23 15:49:58

代码语言:javascript
复制
void CMP3PlayerDlg::OnEnChangeEditVolum()
{
    // TODO:  여기에 컨트롤 알림 처리기 코드를 추가합니다.
    CString strPos;
    CString strFile;
    m_EditVol.GetWindowText(strPos);
    int nPos = _ttoi(strPos);
    if(nPos > 100)
    {
        strPos = "100";
        nPos = 100;
        m_EditVol.SetWindowText("100");
    }
    m_SliderVol.SetPos(nPos);
    waveOutSetVolume((HWAVEOUT)m_hWav, (DWORD)(nPos));

}

现在可以使用waveOutSetVolume方法控制音量。感谢您阅读并回答我的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66742243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档