亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cpi_player_callbacks.c

?? < VC++視頻音頻開發>> 這本書的源碼
?? C
字號:
#include "stdafx.h"
#include "globals.h"
#include "CPI_Player.h"
#include "CPI_Playlist.h"
#include "CPI_PlaylistItem.h"

#define CP_SYNCCOOKIE_DESTROY						301

void CPI_Player_cb_OnStreamInfo(CP_HPLAYER hPlayer, const CPs_FileInfo* pInfo)
{
    globals.main_long_track_duration = pInfo->m_iFileLength_Secs;

    if(pInfo->m_iBitRate_Kbs)
        _itoa(pInfo->m_iBitRate_Kbs, globals.main_text_bitrate, 10);
    else
        globals.main_text_bitrate[0] = '\0';

    if(pInfo->m_iFreq_Hz)
        _itoa(pInfo->m_iFreq_Hz / 1000, globals.main_text_frequency, 10);
    else
        globals.main_text_frequency[0] = '\0';

    main_draw_bitrate(windows.wnd_main);
    main_draw_frequency(windows.wnd_main);
}
//
void CPI_Player_cb_OnStreamOffset_Secs(CP_HPLAYER hPlayer, const int iTrackElapsedSeconds)
{
    globals.main_int_track_total_seconds = iTrackElapsedSeconds;
    main_draw_time(windows.wnd_main);
}
//
void CPI_Player_cb_OnStreamOffset_Range(CP_HPLAYER hPlayer, const int iTrackElapsed_Range)
{
    globals.main_int_track_position = iTrackElapsed_Range;
    if(globals.m_bStreaming == TRUE)
        main_draw_vu_from_value(windows.wnd_main, PositionSlider, globals.m_iStreamingPortion);
    else
        main_draw_vu_from_value(windows.wnd_main, PositionSlider, globals.main_int_track_position);
}
//
void CPI_Player_cb_OnPlayerState(CP_HPLAYER hPlayer, const CPe_PlayerState enPlayerState)
{
    switch(enPlayerState)
    {
    case cppsEndOfStream:
        {
            CP_HPLAYLISTITEM hCurrent = CPL_GetActiveItem(globals.m_hPlaylist);

            if(options.repeat_playlist == FALSE
                    && options.shuffle_play == FALSE
                    && (hCurrent == NULL || CPLI_Next(hCurrent) == NULL) )
            {
                CPI_Player__BlockMessagesUntilEndOfStream(hPlayer);
                if(options.auto_exit_after_playing == TRUE)
                    CPI_Player__SendSyncCookie(hPlayer, CP_SYNCCOOKIE_DESTROY);
            }
            else
            {
                if(options.seconds_delay_after_track > 0)
                    SetTimer(windows.wnd_main, CPC_TIMERID_INTERTRACKDELAY, 2000 + (options.seconds_delay_after_track * 1000), NULL);
                else
                    CPL_PlayItem(globals.m_hPlaylist, FALSE, pmNextItem);
            }
        }
        break;

    case cppsPlaying:
    case cppsPaused:
        globals.m_enPlayerState = enPlayerState;
        main_draw_controls_all(windows.wnd_main);
        break;

    case cppsStopped:
        globals.m_enPlayerState = enPlayerState;

        memset(globals.main_text_bitrate, 0, sizeof(globals.main_text_bitrate));
        memset(globals.main_text_frequency, 0, sizeof(globals.main_text_frequency));
        main_draw_bitrate(windows.wnd_main);
        main_draw_frequency(windows.wnd_main);

        globals.main_int_track_total_seconds = 0;
        main_draw_time(windows.wnd_main);

        globals.main_int_track_position = 0;
        main_draw_vu_from_value(windows.wnd_main, PositionSlider, globals.main_int_track_position);

        main_draw_controls_all(windows.wnd_main);
        break;

    }
}
//
void CPI_Player_cb_OnSyncCookie(CP_HPLAYER hPlayer, const int iCookie)
{
    if(iCookie == CP_SYNCCOOKIE_DESTROY)
        DestroyWindow(windows.wnd_main);
}
//
void CPI_Player_cb_OnVolumeChange(CP_HPLAYER hPlayer, const int iNewVolume)
{
    globals.m_iVolume = iNewVolume;
    main_draw_vu_from_value(windows.wnd_main, VolumeSlider, iNewVolume);
}
//
void CPI_Player_cb_OnStreamStateChange(CP_HPLAYER hPlayer, const BOOL bStreaming, const int iBufferUsagePercent)
{
    const int iRange = Skin.Object[PositionSlider].maxw ? Skin.Object[PositionSlider].h : Skin.Object[PositionSlider].w;

    globals.m_bStreaming = bStreaming;
    if(iRange)
        globals.m_iStreamingPortion = (iBufferUsagePercent * iRange) / 100;
    else
        globals.m_iStreamingPortion = 0;
    main_draw_vu_from_value(windows.wnd_main, PositionSlider, globals.m_iStreamingPortion);
}
//
void CPI_Player_cb_OnEnumOutputDevice(CP_HPLAYER hPlayer, const char* pcDeviceName, const int iDeviceID)
{
    int iNewDeviceIDX;

    iNewDeviceIDX =	SendDlgItemMessage(windows.dlg_options, IDC_OUTPUT, CB_ADDSTRING, 0, (LPARAM)pcDeviceName);
    SendDlgItemMessage(windows.dlg_options, IDC_OUTPUT, CB_SETITEMDATA, iNewDeviceIDX - 1, MAKELPARAM(iDeviceID,iDeviceID));

    SendDlgItemMessage(windows.dlg_options, IDC_OUTPUT, CB_SETCURSEL, options.decoder_output_mode, 0);
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美第一区| 国产精品1区二区.| av动漫一区二区| 欧美一区二区在线播放| 中文字幕视频一区二区三区久| 秋霞av亚洲一区二区三| 91亚洲精品一区二区乱码| 精品国产一区二区在线观看| 亚洲一区二区在线免费看| 国产999精品久久久久久绿帽| 6080国产精品一区二区| 亚洲精品少妇30p| 国产91在线看| 精品免费日韩av| 日韩精品一级中文字幕精品视频免费观看 | 成人毛片视频在线观看| 日韩欧美在线123| 亚洲成在人线免费| 日本福利一区二区| 国产精品麻豆网站| 国产成a人无v码亚洲福利| 91精品国产高清一区二区三区蜜臀| 亚洲综合图片区| 91色乱码一区二区三区| 亚洲国产精品成人综合| 国内精品久久久久影院色 | 国产精品一二一区| 日韩欧美一二区| 日韩有码一区二区三区| 欧美日韩激情在线| 一区二区三区日韩精品视频| 成人av在线播放网址| 中文在线资源观看网站视频免费不卡| 久久99久久久久久久久久久| 91精品国产乱码久久蜜臀| 午夜精品久久久久久久| 欧美精品免费视频| 日韩电影网1区2区| 91麻豆精品国产91久久久更新时间| 亚洲国产精品麻豆| 欧美日韩一级二级| 亚洲第一激情av| 欧美顶级少妇做爰| 日本va欧美va精品| 精品国产一区二区三区av性色 | 亚洲日本韩国一区| 日本精品一区二区三区四区的功能| 亚洲日本韩国一区| 欧美日韩一区精品| 天堂在线亚洲视频| 欧美xxxxx裸体时装秀| 国产一区二区三区免费播放| 久久久久久97三级| 成人sese在线| 一区二区三区成人| 678五月天丁香亚洲综合网| 久久精品国产免费看久久精品| 欧美成人高清电影在线| 国产精品影视在线观看| 国产精品久久久久永久免费观看| eeuss鲁片一区二区三区在线看| 亚洲品质自拍视频网站| 欧美日韩一区中文字幕| 日韩av在线播放中文字幕| 日韩午夜激情av| 国产又粗又猛又爽又黄91精品| 2023国产精品视频| av资源站一区| 亚洲欧美电影院| 欧美日韩精品免费观看视频| 午夜精品一区二区三区免费视频 | 午夜电影网亚洲视频| 7777精品伊人久久久大香线蕉最新版| 国产精品欧美极品| 99久久久精品| 亚洲午夜激情网站| 3d动漫精品啪啪一区二区竹菊| 青青草91视频| 精品伦理精品一区| 成人免费精品视频| 国产精品久久久一本精品 | 日韩欧美黄色影院| 国产精品亚洲一区二区三区妖精| 久久久91精品国产一区二区精品| 韩国午夜理伦三级不卡影院| 最新国产精品久久精品| 国产日韩在线不卡| 国产成a人无v码亚洲福利| 欧美精品一区二区三区高清aⅴ| 久久国产婷婷国产香蕉| 2021国产精品久久精品| 懂色av一区二区三区蜜臀| 亚洲女与黑人做爰| 国产精品456| 久久久久国产精品麻豆ai换脸| 精品一区二区三区久久| 日本一区二区成人| 色哟哟一区二区三区| 日韩国产精品久久久| 欧美美女黄视频| 国产精品主播直播| 一区二区三区在线不卡| 欧美成人乱码一区二区三区| www.综合网.com| 五月婷婷综合在线| 国产人成亚洲第一网站在线播放| 91社区在线播放| 蜜臀久久99精品久久久久久9 | jvid福利写真一区二区三区| 亚洲va欧美va人人爽| 欧美精品一区二| 色欲综合视频天天天| 久久99久久精品| 亚洲天堂中文字幕| 精品嫩草影院久久| 在线观看不卡一区| 从欧美一区二区三区| 日本一区中文字幕| 亚洲同性gay激情无套| 欧美一区二区成人| 92国产精品观看| 韩国精品主播一区二区在线观看 | 一本高清dvd不卡在线观看| 蜜臀va亚洲va欧美va天堂| 一区在线观看免费| 91精品国产综合久久蜜臀| 色av综合在线| 国产在线精品一区二区夜色| 国产精品二三区| 日韩欧美一级特黄在线播放| 成人精品高清在线| 午夜精品久久久久久久久久 | av不卡免费在线观看| 精品一区二区三区在线播放视频 | 久久老女人爱爱| 制服丝袜国产精品| 色欧美日韩亚洲| 国产69精品一区二区亚洲孕妇| 日本成人中文字幕| 亚洲一区二区综合| 亚洲男同性恋视频| 国产精品入口麻豆九色| 日韩一区二区在线看片| 成人精品亚洲人成在线| 亚洲一二三区视频在线观看| 久久精品欧美日韩| 欧美不卡在线视频| 欧美日韩国产区一| 91福利社在线观看| 不卡在线观看av| 国产精品一卡二| 免费观看一级欧美片| 亚洲综合一区二区三区| 中文字幕二三区不卡| 久久毛片高清国产| 欧美不卡激情三级在线观看| 91麻豆精品国产自产在线 | 精品久久久久久最新网址| 欧美日韩高清在线| 色综合久久综合网欧美综合网| 国产乱子伦视频一区二区三区| 免费在线欧美视频| 亚洲动漫第一页| 亚洲制服丝袜av| 亚洲国产aⅴ成人精品无吗| 一区二区三区精品在线| 一区二区三区在线视频观看58| 国产日韩精品视频一区| 91福利精品第一导航| 91美女片黄在线观看| 成人黄色电影在线| 91蜜桃在线观看| 91一区二区三区在线观看| 99视频一区二区| 成人av免费在线| 91香蕉视频mp4| 99久久精品免费看| 欧美性猛交一区二区三区精品| 日本道色综合久久| 在线观看成人免费视频| 欧美色图片你懂的| 宅男噜噜噜66一区二区66| 69堂亚洲精品首页| 久久精品一区二区三区不卡牛牛| 国产亚洲午夜高清国产拍精品| 国产午夜精品久久久久久久 | 91浏览器入口在线观看| 91丨porny丨国产入口| 色综合久久中文综合久久97| 91国产免费看| 884aa四虎影成人精品一区| 欧美变态口味重另类| 国产精品美女久久久久久2018| 亚洲欧洲精品一区二区三区 | 丁香婷婷综合激情五月色| 成人国产精品免费网站| 色综合天天综合网天天狠天天| 色视频成人在线观看免| 欧美日韩大陆在线| 欧美精品久久久久久久多人混战|