📄 soundtst.c
字号:
#include <stdio.h>
#include <string.h>
#include <asixwin.h>
#include <asixapp.h>
#include <resource\bitmap.h>
#include <resource\picture.h>
#include <service\audio\audiosvr.h>
#include <resource\audio.h>
#define TEST_SOUND_NAME snd_down
#define TEST_MID_NAME tiger
void test_sound(void);
TASKDESCRIPTION TestSoundTskDesp =
{"test_sound", ASIX_APP, 0, xitong, 2048, 1, LCD_WIDTH, LCD_HEIGHT, test_sound, APP_PRI};
void test_sound( void )
{
MSG msg ;
U32 mainwin;
U8 quit = 0;
U32 start_sound_bt, stop_sound_bt;
U32 start_note_bt, stop_note_bt;
U32 start_MIDI_bt, stop_MIDI_bt;
mainwin = CreateWindow( WNDCLASS_WIN, "声音的测试", WS_OVERLAPPEDWINDOW, 0, 0, PHY_LCD_W, PHY_LCD_H, 0, 0, NULL ); //窗口的附加数据(主窗口没有附加数据)
start_sound_bt = CreateWindow(WNDCLASS_BUTTON, "定长播放", WS_CHILD|BS_BOARD_REGULAR, 0, 30, 70,40,mainwin, 0, NULL);
stop_sound_bt = CreateWindow(WNDCLASS_BUTTON, "■停止■", WS_CHILD|BS_BOARD_REGULAR, 90,30, 70,40,mainwin, 0, NULL);
start_note_bt = CreateWindow(WNDCLASS_BUTTON, "定时播放", WS_CHILD|BS_BOARD_REGULAR, 0, 90, 70,40,mainwin, 0, NULL);
stop_note_bt = CreateWindow(WNDCLASS_BUTTON, "■停止■", WS_CHILD|BS_BOARD_REGULAR, 90,90, 70,40,mainwin, 0, NULL);
start_MIDI_bt = CreateWindow(WNDCLASS_BUTTON, "播放MIDI", WS_CHILD|BS_BOARD_REGULAR, 0, 150, 70,40,mainwin, 0, NULL);
stop_MIDI_bt = CreateWindow(WNDCLASS_BUTTON, "■停止■", WS_CHILD|BS_BOARD_REGULAR, 90,150, 70,40,mainwin, 0, NULL);
while(!quit)
{
ASIXGetMessage(&msg, NULL, 0, 0);
switch(msg.message)
{
case WM_COMMAND:
if( msg.lparam == start_sound_bt )
{
SetRepeatPoint( 0 );//???
//SoundStart( c5, 8000 );
SoundStart( TEST_SOUND_NAME, 4817 );
}
else if( msg.lparam == stop_sound_bt )
{
SoundStop();
}
else if( msg.lparam == start_note_bt )
{
SetRepeatPoint( 0 );//???
//NoteStart( TEST_SOUND_NAME, 129358, 20000 );
NoteStart( TEST_SOUND_NAME, 4817 ,8000 );
}
else if( msg.lparam == stop_note_bt )
{
NoteStop();
}
else if( msg.lparam == start_MIDI_bt )
{
SetRepeatPoint( 4800 );//???
//MIDIStart( 0x500000 );
MIDIStart( (U32)TEST_MID_NAME );
}
else if( msg.lparam == stop_MIDI_bt )
{
MIDIStop();
}
break;
case WM_QUIT:
SoundStop();
NoteStop();
MIDIStop();
quit = 1;
break;
default:
break;
}
DefWindowProc(msg.message, msg.lparam, msg.data, msg.wparam);
}
DestroyWindow( mainwin );
EndofTask();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -