MFC mciSendString 指定位置播放
用函式發送指令控制指定點位置播放,現在的播放器都有滑塊用滑鼠點到哪里就播放哪里
有知道的高手碼
自己寫了一段不能用
int nPos = m_slider.GetPos();
CString step;
long lPosition;
TCHAR szReturn[MAX_PATH] = { 0 };
lPosition = nPos;
step.Format(_T("seek movie to %ld"), lPosition);
_stprintf(szReturn, _T("%d"), nPos);
mciSendStringW(step, szReturn, MAX_PATH, 0);
把后面三個引數改為0也不行
uj5u.com熱心網友回復:
https://wenku.baidu.com/view/36d0031714791711cc7917c6.htmluj5u.com熱心網友回復:
這個文章我看過無數遍了,沒有用
uj5u.com熱心網友回復:
他這個buf是干什么的沒有寫,buf也沒有定義uj5u.com熱心網友回復:

void CMCIWnd::SetPosition(DWORD p)
{
MCIWndSeek(m_hWnd,p) ;
}
DWORD CMCIWnd::GetLength()
{
return MCIWndGetLength(m_hWnd) ;
}
我用MCIWnd 可以播放mp3 wav .獲得長度,設定長度
DWORD len=m_play.GetLength(); //這個長度就是整播放長度 單位:毫秒
uj5u.com熱心網友回復:
記錄一下,以后用得著
uj5u.com熱心網友回復:
函式是沒有錯但是我用了沒有效果,那個m_hwnd貌似沒有和音樂系結我之前是用這個頭檔案做的
#include <mmsystem.h>
#pragma comment(lib,"winmm.lib")
//step.Format(_T("seek waveaudio to %ld"), lPosition);
//_stprintf(szReturn, _T("%d"), nPos);
//dwErr=mciSendStringW(step, NULL, NULL, 0);
//TRACE("strCmd=%ws \n", step);
nPos = m_slider.GetPos();
lPosition = nPos;
MCIWndSeek(m_hWnd, lPosition);
TRACE("lPosition1=%d \n", lPosition);
uj5u.com熱心網友回復:
這個是音樂播放的代碼strCmd.Format(_T("open %s"), m_szShortName);
//打開音樂
dwErr = mciSendString(strCmd, NULL, NULL, NULL);
if (dwErr != 0)
{
ErrBox(dwErr);
return;
}
//播放音樂
strCmd.Format(_T("play %s"), m_szShortName);
dwErr = mciSendString(strCmd, NULL, NULL, NULL);
if (dwErr != 0)
{
ErrBox(dwErr);
return;
}
m_bPlaying = TRUE;
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/13559.html
標籤:基礎類
