C Playsound Function returns -1073741819 退出代码,不播放mp3文件
C Playsound Function returns -1073741819 exit code and doesn't play mp3 file
包含Playsound重要功能的部分
MCI_OPEN_PARMS m_mciOpenParms;
MCI_PLAY_PARMS m_mciPlayParms;
DWORD m_dwDeviceID;
MCI_OPEN_PARMS mciOpen;
MCI_PLAY_PARMS mciPlay;
int dwID;
//
#define TITLE_SPACE 55
#define TITLE_ENTER 10
/*music address*/#definedecision_change "C:\Users\chanho\Desktop\decision_change.wav"
#define main_theme "C:\Users\chanho\Desktop\FlappyChicken.mp3"
我的部分代码
if (inner_time == 0)
{
//bgm
mciOpen.lpstrElementName = TEXT(main_theme);
mciOpen.lpstrDeviceType = "mpegvideo";
mciSendCommand(NULL, MCI_OPEN, MCI_OPEN_ELEMENT | MCI_OPEN_TYPE, (DWORD)(LPVOID)&mciOpen);
dwID = mciOpen.wDeviceID;
mciSendCommand(dwID, MCI_PLAY, MCI_DGV_PLAY_REPEAT, (DWORD)(LPVOID)&m_mciPlayParms);
//
}
它在其他 PC 或笔记本电脑上运行良好,但是当我插入此代码并对其进行编译时,它 returns 奇怪的退出代码并在 "part of my code"
的那一刻停止
当我删除这个 "part of my code" 时,它没有问题。
编译此代码时没有发生错误,即使它有奇怪的退出代码。
谁能解释一下为什么只有我的笔记本电脑 returns 那个 -107~~~ 代码问题以及如何修复它?
well -1073741819 是十六进制的 0xc0000005,即 ACCESS_VIOLATION
可能您对该文件没有读取权限
见Exception Error c0000005 in VC++
转念一想,这不是烫发问题,而是内存读写错误。我怀疑您没有在某处测试 return 值,因此使用了由函数 returned 的 NULL 指针。你没有显示足够的代码来判断
包含Playsound重要功能的部分
MCI_OPEN_PARMS m_mciOpenParms;
MCI_PLAY_PARMS m_mciPlayParms;
DWORD m_dwDeviceID;
MCI_OPEN_PARMS mciOpen;
MCI_PLAY_PARMS mciPlay;
int dwID;
//
#define TITLE_SPACE 55
#define TITLE_ENTER 10
/*music address*/#definedecision_change "C:\Users\chanho\Desktop\decision_change.wav"
#define main_theme "C:\Users\chanho\Desktop\FlappyChicken.mp3"
我的部分代码
if (inner_time == 0)
{
//bgm
mciOpen.lpstrElementName = TEXT(main_theme);
mciOpen.lpstrDeviceType = "mpegvideo";
mciSendCommand(NULL, MCI_OPEN, MCI_OPEN_ELEMENT | MCI_OPEN_TYPE, (DWORD)(LPVOID)&mciOpen);
dwID = mciOpen.wDeviceID;
mciSendCommand(dwID, MCI_PLAY, MCI_DGV_PLAY_REPEAT, (DWORD)(LPVOID)&m_mciPlayParms);
//
}
它在其他 PC 或笔记本电脑上运行良好,但是当我插入此代码并对其进行编译时,它 returns 奇怪的退出代码并在 "part of my code"
的那一刻停止当我删除这个 "part of my code" 时,它没有问题。
编译此代码时没有发生错误,即使它有奇怪的退出代码。
谁能解释一下为什么只有我的笔记本电脑 returns 那个 -107~~~ 代码问题以及如何修复它?
well -1073741819 是十六进制的 0xc0000005,即 ACCESS_VIOLATION
可能您对该文件没有读取权限
见Exception Error c0000005 in VC++
转念一想,这不是烫发问题,而是内存读写错误。我怀疑您没有在某处测试 return 值,因此使用了由函数 returned 的 NULL 指针。你没有显示足够的代码来判断