norains的专栏

只专注于WINCE开发

用户操作
[即时聊天] [发私信] [加为好友]
雨仔ID:norains
130380次访问,排名643好友0人,关注者23
代码其实是一种乐趣
norains的文章
原创 186 篇
翻译 0 篇
转载 10 篇
评论 256 篇
norains的公告
联系方式请看置顶文章
最近评论
hustpanda:电子书看不了呢?
bobo:“耍大牌”...... 你就该直接拉黑
bulrush:你好,首先先感谢一下。我看了你的音量控制,自己也去实现了一下,但是我个人感觉“AudioUpdateFromRegistry”没有依据注册表的设置来更新控制面板的音量。没有马上更新,我重启系统后才看到更新的结果。也就是说这种方法是可行,但是必须要重启,显然这不合理。上面的兄弟说:引用了这两个类后不起作用
如:
void CSoundDlg::OnSoft()
……
manyanxinlv:尽管我还小 但是 我还是看看
xumercury:= =|||||我汗。。。ps看的很囧。。
文章分类
收藏
    相册
    动漫
    文章图片
    程序交流
    xumercury的BLOG
    狗友们的博客
    清蒸石斑鱼
    美女如刀锋
    茁茁的BLOG
    魅力老姐的窝
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    转载 WinCE 下播放MP3代码收藏

    新一篇: WinCE 开始菜单StartMenu_Create()函数代码分析 | 旧一篇: EVC编程经验点滴(一)

    //我成功运行过的代码:


    #include "stdafx.h"
    #include <dshow.h>
    #include <streams.h>

    #pragma comment (lib,"Ole32.lib")
    #pragma comment (lib,"Strmiids.lib")

    void TestMP3(void);

    int WINAPI WinMain(HINSTANCE hInstance,
    HINSTANCE hPrevInstance,
    LPTSTR    lpCmdLine,
    int       nCmdShow)
    {
     // TODO: Place code here.
    TestMP3();
    return 0;
    }
     void TestMP3()

    IGraphBuilder *pGraph; 
    /* 指向Filter Graph的指针 */
        IMediaControl *pMediaControl;
    /* 指向MediaControl对象的指针 */
    /* 初始化,程序启动时执行一次即可 */
    CoInitialize(NULL);
    /**************************************************************************/
    /* 以下程序每次播放MP3(或其他格式)文件时调用 */  
    /* 创建一个Filter Graph manager */ 
    CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC, IID_IGraphBuilder, (void **)&pGraph);
        pGraph->QueryInterface(IID_IMediaControl, (void **)&pMediaControl);
    /* 连接播放指定文件所需的filter */
    pGraph->RenderFile(L"\\test.mp3", NULL);
    /* 开始播放指定的文件 */
    pMediaControl->Run(); 
    /* 文件的播放在DirectShow中独立线程中进行,此处等待 */
    MessageBox(NULL, L"点击[OK]结束播放", L"Play MP3", MB_OK); 
    pMediaControl->Stop(); 
    /* 停止播放 */ 
    pMediaControl->Release();
    /* 释放对象 */
    pGraph->Release(); 
        /**************************************************************************/
    /* 程序结束时调用 */ 
    CoUninitialize();
    }

    发表于 @ 2006年02月25日 13:02:00|评论(loading...)|编辑

    新一篇: WinCE 开始菜单StartMenu_Create()函数代码分析 | 旧一篇: EVC编程经验点滴(一)

    评论

    #mouz 发表于2007-07-08 13:35:35  IP: 123.114.49.*
    请问这段代码是在EVC下运行的吗?我在EVC下编译的时候提示说"dshow.h文件找不到"怎么处理亚?谢谢!
    #norains 发表于2007-07-12 21:24:44  IP: 219.133.225.*
    是EVC的.但如果你是在标准的模拟器下编译,会有这个错误,因为标准模拟器没有directshow组件.你可以选择自己生成一个包含directshow的SDK包来进行编译
    #mouz 发表于2007-07-14 16:55:46  IP: 124.17.17.*
    请问怎么生成一个包含directshow的SDK包呢?如果生成了这么一个SDK后,编译后的程序能够运行在WM5.0的机器上吗?谢谢!
    #norains 发表于2007-07-15 10:26:26  IP: 61.145.129.*
    to mouz :你需要安装PB,然后在该环境中生成SDK. 编译后的程序能否运行在你的机器上,取决于你的机器的系统是否包含了DirectShow.
    #mouz 发表于2007-07-16 11:38:20  IP: 124.17.17.*
    norains大牛你好,我给你站内发了一封邮件请教,不知收到没有?如果方便的话能不能给我一个邮箱,以便能更方便的向你请教?谢谢!
    #norains 发表于2007-07-20 22:28:57  IP: 218.17.203.*
    不好意思,没收到站内邮件.你可以发这个email: norains#163.com
    #flydream1981 发表于2007-09-28 16:56:45  IP: 210.76.108.*
    WM 5.0开始支持DirectShow 了
    #fy8223 发表于2008-01-09 10:47:53  IP: 123.127.237.*
    你好,用这段代码
    在手机上测试,为啥只能播放mid,wav,3gp的呢,
    2008-01-09 17:38:07作者回复
    因为这段代码是直接调用控件来实现的,并没有自身的解码实现。所以能否播放MP3,取决于你的系统是否包含了MP3解码组件。
    #fy8223 发表于2008-01-11 10:02:43  IP: 123.127.237.*
    奇怪的是,手机上用window media play是可以播放mp3,我看了看它播放的时候直接调用的mp3dmod。可是用dshow的时候,RenderFile就退出了,想请教一下,非常感谢
    2008-01-11 14:06:38作者回复
    一般出现这种情况是因为mp3解码不是采用DirectShow接口,不过按你所描述的情况上来看,却又不像(因为你是用window media player可以播放,而wince自带的播放器是采用directshow接口).你用我这个封装的类试试看,看看能不能起作用:http://blog.csdn.net/norains/archive/2007/07/27/1712083.aspx
    #dd 发表于2008-07-29 15:02:09  IP: 221.122.47.*
    有没有一个明确的说明,为何不能播放mp3啊----can't render
    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © norains