个人遇到的mcisendstring函数和PlaySound函数播放音乐的问题

本次主要遇到两个问题
首先是文件名需要使用TEXT()函数中或者在文件路径的双引号""前加大写的L
其次是mcisendsting函数所播放的mp3格式音乐需要删除封面
亲测以下代码在vs2013 pro中均可成功运行
c代码:

#include<windows.h>
#include<Mmsystem.h>
#pragma comment(lib,"winmm.lib")

int main(int argc, char* argv[])
{
    mciSendString(TEXT("open D:\\甩葱歌.mp3 alias bkmusic"), NULL, 0, NULL);
    mciSendString(TEXT("play bkmusic"), NULL, 0, NULL);

    //mciSendString(L"open D:\\千本樱.mp3 alias bkmusic", NULL, 0, NULL);
    //mciSendString(L"play bkmusic", NULL, 0, NULL);

    //PlaySound(TEXT("D:\\桃源恋歌.wav"), NULL, SND_FILENAME | SND_ASYNC);   

    //PlaySound(L"D:\\桃源恋歌.wav", NULL, SND_FILENAME | SND_ASYNC);

    getchar();
    return 0;
}

c++代码:

#include<windows.h>
#include<Mmsystem.h>
#include<iostream>
#pragma comment(lib,"winmm.lib")
using namespace std;

int main(int argc, char* argv[])
{
    mciSendString(TEXT("open D:\\千本樱.mp3 alias bkmusic"), NULL, 0, NULL);
    mciSendString(TEXT("play bkmusic"), NULL, 0, NULL);

    //mciSendString(L"open D:\\badapple.wma alias bkmusic", NULL, 0, NULL);
    //mciSendString(L"play bkmusic", NULL, 0, NULL);

    //PlaySound(TEXT("D:\\桃源恋歌.wav"), NULL, SND_FILENAME | SND_ASYNC);

    //PlaySound(L"D:\\桃源恋歌.wav", NULL, SND_FILENAME | SND_ASYNC);

    getchar();
    return 0;
}

经过测试mp3格式,wav格式,wma格式的音乐都可以用mcisendstring函数打开并播放,
而PlaySound函数只能播放wav格式的音乐,但两者似乎都不能播放flac格式的音乐。

mp3封面去除软件:官网:https://www.mp3tag.de
一开始安装是英文,但安装完可点击Tools-Options-Language然后选择简体中文,将音乐文件拖入右边的大窗口,然后选中音乐文件,右击选择删除封面,最后选择文件菜单中的保存标签即可。

  • 11
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值