吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 856|回复: 9
收起左侧

[求助] 求教以下C++播放*.wav的代码

[复制链接]
冥界3大法王 发表于 2021-11-27 19:47
我要是用它来播放x64dbg.exe 内置的资源中的.wav文件 ,那个路径是不是得修改一下?
因为,我看到的QT的源码中是这样的:
[C] 纯文本查看 复制代码
    QFile file(":/icons/images/egg.wav"); <=======看这句!!!!
    if(file.open(QIODevice::ReadOnly))
    {
        QByteArray egg = file.readAll();
        PlaySoundA(egg.data(), 0, SND_MEMORY | SND_ASYNC | SND_NODEFAULT);
    }



[C++] 纯文本查看 复制代码
#include <Windows.h>
#include <mmsystem.h>

#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <assert.h>

#pragma comment(lib,"WinMM.Lib")

using namespace std;


BOOL MByteToWChar(LPCSTR lpcszStr, LPWSTR lpwszStr, DWORD dwSize)
{
    // Get the required size of the buffer that receives the Unicode 
    // string. 
    DWORD dwMinSize;
    dwMinSize = MultiByteToWideChar(CP_ACP, 0, lpcszStr, -1, NULL, 0);
    assert(dwSize >= dwMinSize);

    // Convert headers from ASCII to Unicode.
    MultiByteToWideChar(CP_ACP, 0, lpcszStr, -1, lpwszStr, dwMinSize);
    return TRUE;
}

int main(int argc, char** argv)
{
    string s = "D:\\MyDesktop\\6.wav";// "bt.wav";
    wchar_t wText[30] = { 0 };
    MByteToWChar(s.c_str(), wText, sizeof(wText) / sizeof(wText[0]));
    PlaySound(wText, NULL, SND_FILENAME | SND_SYNC);
    system("pause");
    return 0;
}

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| 冥界3大法王 发表于 2021-11-27 19:49
一个是绝对的,一个是相对的。
一个是外部的,一个是资源包内置的。
调用方式也得变吧?
Eaglecad 发表于 2021-11-27 21:39
后面部分代码,都没读文件吧?那播放不了

QT那个是读取资源文件中所有内容,放到播放里。
而下面那个vc的代码就没有读文件,只是穿了个路径进去。
 楼主| 冥界3大法王 发表于 2021-11-27 22:08
Eaglecad 发表于 2021-11-27 21:39
后面部分代码,都没读文件吧?那播放不了

QT那个是读取资源文件中所有内容,放到播放里。

@Eaglecad
求大师兄给改个相对路径的(能调内部文件的)完整版的C++实现代码(第2段部分)
92013 发表于 2021-11-27 22:14
不是 你这个转换字符串是干什么的?直接读取文件到buff里不就可以播放了
无闻无问 发表于 2021-11-27 22:24
播放不行吗?playsound好像是100k以下才可以
无闻无问 发表于 2021-11-27 22:27
92013 发表于 2021-11-27 22:14
不是 你这个转换字符串是干什么的?直接读取文件到buff里不就可以播放了

应该加个L或TEXT就行了…
Eaglecad 发表于 2021-11-28 08:47
冥界3大法王 发表于 2021-11-27 22:08
@Eaglecad
求大师兄给改个相对路径的(能调内部文件的)完整版的C++实现代码(第2段部分)

http://www.360doc.cn/mip/874485227.html可以参考这个试试,没开电脑,就没试。
 楼主| 冥界3大法王 发表于 2021-11-28 08:53
谢谢诸位,一会试试。
有了x64dbg编译环境,果然能办很多事。
刚把向命令行传内置命令学会,这次可以办很多梦想中的事情了。
zhang1217 发表于 2021-11-28 09:38
不懂 有时间可以都试试
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 18:27

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表