Media Player 6.41, 怎么获得 01:50 / 03:20 这个播放时间?2, OnError怎么捕获错误码?3, OpenState, PlayState的值哪有文档? MSDN上找不到具体值(可能是我没找到)

解决方案 »

  1.   

    1.long total = (long)m_player.GetDuration();
    CString time  = GetStringTime(total);
    CString CProgramer_EditView::GetStringTime(long sec)
    {
    int h = 0;
    int m = 0;
    int s = 0;

    if(sec >= 3600)
    {
    h = sec / 3600;
    m = (sec - 3600*h)/60;
    s = (sec - 3600*h - 60*m);
    }else
    {
    m = sec/60;
    s = sec - 60*m;
    }
    CString str;
    str.Format("%d:%d:%d",h,m,s);
    return str;

    }2.TRY{
    if(leftvoice == LEFT_SD)
    m_vidoHold.m_media.SetBalance(LEFT_SD);
    else if(leftvoice == RIGHT_SD)
    m_vidoHold.m_media.SetBalance(RIGHT_SD);
    else
    m_vidoHold.m_media.SetBalance(ALL_SD);
    m_vidoHold.m_media.Play();
    }
    CATCH (COleDispatchException ,e)
    {
    // AfxMessageBox("格式不对!或不支持此文件");
    }
    END_CATCH
    3.
    void CVidoHold::OnPlayStateChangeMediaPlayer(long OldState, long NewState) 
    {
    TRACE("OnPlayStateChangeMediaPlayer\n");
    // TODO: Add your control notification handler code here

    }
    void CVidoHold::OnWarningMediaPlayer(long WarningType, long Param, LPCTSTR Description) 
    {
    TRACE("OnWarningMediaPlayer\n");

    }void CVidoHold::OnEndOfStreamMediaPlayer(long Result) 
    {
    g_play_state = IDLE;
    // SetEvent(g_hHandleEvntPlay[PLAYOVER]);
    TRACE("OnEndOfStreamMediaPlayer\n");
    }
    void CVidoHold::OnPlayStateChangeMediaPlayer(long OldState, long NewState) 
    {
    TRACE("OnPlayStateChangeMediaPlayer\n");
    // TODO: Add your control notification handler code here

    }