`
yuanlanjun
  • 浏览: 1188056 次
文章分类
社区版块
存档分类
最新评论

PlaySound播放音乐

 
阅读更多

今天测试了一下windows32的PlaySound函数,路径没错,运行也不报错,但是却听不到歌曲的声音,运行的时候听到一声“咚”。加个循环的话就发出“咚咚咚”的响声,求帮忙,其中wav文件是由mp3文件修改后缀而成的,无论是绝对路径还是相对路径,都没有听到音乐的效果,还有一定,PlaySound()写的路径正确与否都不会报错,求帮忙?(论坛已求助,无人问津)代码如下:

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

LRESULT CALLBACK WindowProc1(
  HWND hwnd,      // handle to window
  UINT Msg,      // message identifier
  WPARAM wParam,  // first message parameter
  LPARAM lParam   // second message parameter
);


int WINAPI WinMain(
  HINSTANCE hInstance,      // handle to current instance
  HINSTANCE hPrevInstance,  // handle to previous instance
  LPSTR lpCmdLine,          // command line
  int nCmdShow              // show state
  )
{
    static TCHAR szAppName[]=TEXT("HelloWin");
    HWND hwnd;
    MSG msg;
    WNDCLASS wndclass;

    wndclass.cbClsExtra=0;
    wndclass.cbWndExtra=0;
    wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
    wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);
    wndclass.hIcon=LoadIcon(NULL,IDI_ERROR);
    wndclass.hInstance=hInstance;
    wndclass.lpfnWndProc= WindowProc1;
    wndclass.lpszClassName=szAppName;
    wndclass.lpszMenuName=NULL;
    wndclass.style=CS_HREDRAW|CS_VREDRAW;

    if(!RegisterClass(&wndclass)){
        MessageBox(NULL,TEXT("This program requires Windows NT!"),szAppName,MB_ICONERROR);
        return 0;
    }

    hwnd=CreateWindow(
  szAppName,  // registered class name
  TEXT("This is Hello Program"), // window name
  WS_OVERLAPPEDWINDOW,        // window style
  CW_USEDEFAULT,               // horizontal position of window
  CW_USEDEFAULT,               // vertical position of window
  CW_USEDEFAULT,           // window width
  CW_USEDEFAULT,          // window height
  NULL,     // handle to parent or owner window
  NULL,        // menu handle or child identifier
   hInstance,  // handle to application instance
  NULL      // window-creation data
);
    ShowWindow(hwnd,nCmdShow);
    UpdateWindow(hwnd);

    while(GetMessage(&msg,NULL,0,0)){
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }

    return msg.wParam;

}

LRESULT CALLBACK WindowProc1(
  HWND hwnd,      // handle to window
  UINT Msg,      // message identifier
  WPARAM wParam,  // first message parameter
  LPARAM lParam   // second message parameter
)
{
    HDC hdc;
    PAINTSTRUCT ps;
    RECT rect;
    

    switch(Msg){
        case WM_CREATE:
            PlaySound(TEXT("tingge.wav"),NULL,SND_FILENAME|SND_ASYNC);
            

            return 0;
        case WM_PAINT:
            hdc=BeginPaint(hwnd,&ps);
            GetClientRect(hwnd,&rect);
            DrawText(hdc,TEXT("Hello,Window98!"),-1,&rect,DT_CENTER|DT_SINGLELINE|DT_VCENTER);
            EndPaint(hwnd,&ps);
            
            return 0;
        case WM_DESTROY:
            PostQuitMessage(0);
            return 0;

    }
    return DefWindowProc(hwnd,Msg,wParam,lParam);
}

留下你的脚印。。。

此问题完美解决了,wav格式不能直接由mp3格式修改后缀而得,用格式工厂或千千静听可以转成wav(wave)格式,这样就可以解决了。

分享到:
评论

相关推荐

    MFC中使用playsound播放音乐的方法

    本文档显示在vs2010中使用playsound函数播放音乐的方法

    PlaySound函数的使用示例

    如何用PlaySound函数播放wav音乐VS2019!

    播放WAV音乐文件

    不错的使用PlaySound播放WAV音乐文件的开发例子

    PlaySound:播放音效,封装声音处理工具

    PlaySound播放音效,封装声音处理工具

    win32音乐贺卡2.0

    C语言win32小程序 编译环境为VC++ 简易的音乐贺卡 playsound播放wav格式的内嵌资源音乐 附源代码 可以直接编译运行 用的是vc6 不知道其他版本是否支持

    python打开音乐文件的实例方法

    1、使用playsound库 from playsound import playsound playsound('xx.mp3') 2、使用pygame库 from pygame import mixer  import time mixer.init() mixer.music.load('xx.mp3') mixer.music.play() time....

    python实现闹钟定时播放音乐功能

    自己写的闹钟,只可以播放wav格式的音频,供大家参考,具体内容如下 Python代码: import time import sys soundFile = 'sound.wav' not_executed = 1 def soundStart(): if sys.platform[:5] == 'linux': ...

    C#播放背景音乐的方法小结

    本文实例总结了C#播放背景音乐的方法。分享给大家供大家参考。具体分析如下: 最经在写winform程序,其中有用到播放背景音乐 特此收集了一些网上的教程: 1、调用非托管的dll using System.Runtime.InteropServices...

    DelphisndPlaySound_delphi_delphisndplaysound_

    Delphi 基于sndPlaySound函数播放音频文件,无调用windows内置的播放器组件,Delphi原生的音乐播放程序

    Player0.0 音乐播放器 SDK

    这是我的音乐播放器的第一个版本,最有纪念意义,是我开发自己播放器的框架,其中很多都是自己最初的想法,用到最基本的PlaySound来播放,最适合新手的学习,希望对你有帮助!

    C语言音乐贺卡win32程序

    C语言音乐贺卡win32程序 用到的主要函数为playsound()和mcisendstring()程序能播放自身带的WAVE格式的音乐,即嵌入程序的音乐,也能打开自己下载好了的任意格式音乐文件

    Player3.0 音乐播放器 (mci)

    这个版本的测试版本3.0 不再继续使用playsound,而使用mcisendstring来播放mp3,其他部分基本没变。(程序中可能有很多Bug,希望大家包涵,毕竟只是测试版,这些Bug在后面版本中都会得到修正)。

    Audio2Minecraft

    Audio2Minecraft是一款红石音乐转化器,能将midi转化为播放速率为20t/s的命令方块流。支持导入.mid、.wav、.lrc文件,并分别以playsound、scoreboard、tellraw/title的命令形式在Minecraft中输出。

    txt音乐播放器PC版C语言.zip

    说明网址:https://blog.csdn.net/BHSZZY/article/details/106194422...可播放txt格式的音乐文件,扒谱助手,写好简谱就能一键播放; 包含C源码与exe文件,免费资源,欢迎大家下载使用,欢迎大佬优化改进并反馈,谢谢!

    XamarinAudioManager:适用于Xamarin的跨平台音频管理器

    XamarinAudioManager ... 以下示例显示了如何使用Xamarin Audio Manager设置背景音乐和播放效果声音。 await Audio . Manager . PlayBackgroundMusic ( " bgMusic.mp3 " ); await Audio . Manager . PlaySound ( " D

    吉林大学软件学院卓班设计模式第三次练习

    请使用装饰模式进行扩展,使得Process各Menu时,都循环播放背景音乐,离开菜单时,停止播放;同时显示主菜单时,显示如上图(Window下可使用PlaySound API函数,另由于LoadMenu类名与Windows中的LoadMenu API函数...

Global site tag (gtag.js) - Google Analytics