⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xaudioplayer.pas

📁 这是在磁疗用DELPHI编写一套安装软件的程序源码
💻 PAS
📖 第 1 页 / 共 5 页
字号:
unit XaudioPlayer;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

const
{ Messages }
  XA_MSG_BASE                                        = $9000;
  XA_MSG_UNKNOWN                                     =   0;
  XA_MSG_COMMAND_EXIT                                =   1;
  XA_MSG_COMMAND_SYNC                                =   2;
  XA_MSG_COMMAND_PING                                =   3;
  XA_MSG_COMMAND_PLAY                                =   4;
  XA_MSG_COMMAND_PAUSE                               =   5;
  XA_MSG_COMMAND_STOP                                =   6;
  XA_MSG_COMMAND_SEEK                                =   7;
  XA_MSG_COMMAND_INPUT_OPEN                          =   8;
  XA_MSG_COMMAND_INPUT_CLOSE                         =   9;
  XA_MSG_COMMAND_INPUT_SEND_MESSAGE                  =  10;
  XA_MSG_COMMAND_INPUT_ADD_FILTER                    =  11;
  XA_MSG_COMMAND_INPUT_REMOVE_FILTER                 =  12;
  XA_MSG_COMMAND_INPUT_FILTERS_LIST                  =  13;
  XA_MSG_COMMAND_INPUT_MODULE_REGISTER               =  14;
  XA_MSG_COMMAND_INPUT_MODULE_QUERY                  =  15;
  XA_MSG_COMMAND_INPUT_MODULES_LIST                  =  16;
  XA_MSG_COMMAND_OUTPUT_OPEN                         =  17;
  XA_MSG_COMMAND_OUTPUT_CLOSE                        =  18;
  XA_MSG_COMMAND_OUTPUT_SEND_MESSAGE                 =  19;
  XA_MSG_COMMAND_OUTPUT_MUTE                         =  20;
  XA_MSG_COMMAND_OUTPUT_UNMUTE                       =  21;
  XA_MSG_COMMAND_OUTPUT_RESET                        =  22;
  XA_MSG_COMMAND_OUTPUT_DRAIN                        =  23;
  XA_MSG_COMMAND_OUTPUT_ADD_FILTER                   =  24;
  XA_MSG_COMMAND_OUTPUT_REMOVE_FILTER                =  25;
  XA_MSG_COMMAND_OUTPUT_FILTERS_LIST                 =  26;
  XA_MSG_COMMAND_OUTPUT_MODULE_REGISTER              =  27;
  XA_MSG_COMMAND_OUTPUT_MODULE_QUERY                 =  28;
  XA_MSG_COMMAND_OUTPUT_MODULES_LIST                 =  29;
  XA_MSG_COMMAND_CODEC_SEND_MESSAGE                  =  30;
  XA_MSG_COMMAND_CODEC_MODULE_REGISTER               =  31;
  XA_MSG_COMMAND_CODEC_MODULE_QUERY                  =  32;
  XA_MSG_COMMAND_CODEC_MODULES_LIST                  =  33;
  XA_MSG_SET_PLAYER_MODE                             =  34;
  XA_MSG_GET_PLAYER_MODE                             =  35;
  XA_MSG_SET_PLAYER_ENVIRONMENT_INTEGER              =  36;
  XA_MSG_GET_PLAYER_ENVIRONMENT_INTEGER              =  37;
  XA_MSG_SET_PLAYER_ENVIRONMENT_STRING               =  38;
  XA_MSG_GET_PLAYER_ENVIRONMENT_STRING               =  39;
  XA_MSG_UNSET_PLAYER_ENVIRONMENT                    =  40;
  XA_MSG_SET_INPUT_NAME                              =  41;
  XA_MSG_GET_INPUT_NAME                              =  42;
  XA_MSG_SET_INPUT_MODULE                            =  43;
  XA_MSG_GET_INPUT_MODULE                            =  44;
  XA_MSG_SET_INPUT_POSITION_RANGE                    =  45;
  XA_MSG_GET_INPUT_POSITION_RANGE                    =  46;
  XA_MSG_SET_INPUT_TIMECODE_GRANULARITY              =  47;
  XA_MSG_GET_INPUT_TIMECODE_GRANULARITY              =  48;
  XA_MSG_SET_OUTPUT_NAME                             =  49;
  XA_MSG_GET_OUTPUT_NAME                             =  50;
  XA_MSG_SET_OUTPUT_MODULE                           =  51;
  XA_MSG_GET_OUTPUT_MODULE                           =  52;
  XA_MSG_SET_OUTPUT_POSITION_RANGE                   =  53;
  XA_MSG_GET_OUTPUT_POSITION_RANGE                   =  54;
  XA_MSG_SET_OUTPUT_TIMECODE_GRANULARITY             =  55;
  XA_MSG_GET_OUTPUT_TIMECODE_GRANULARITY             =  56;
  XA_MSG_SET_OUTPUT_VOLUME                           =  57;
  XA_MSG_GET_OUTPUT_VOLUME                           =  58;
  XA_MSG_SET_OUTPUT_CHANNELS                         =  59;
  XA_MSG_GET_OUTPUT_CHANNELS                         =  60;
  XA_MSG_SET_OUTPUT_PORTS                            =  61;
  XA_MSG_GET_OUTPUT_PORTS                            =  62;
  XA_MSG_SET_CODEC_QUALITY                           =  63;
  XA_MSG_GET_CODEC_QUALITY                           =  64;
  XA_MSG_SET_CODEC_EQUALIZER                         =  65;
  XA_MSG_GET_CODEC_EQUALIZER                         =  66;
  XA_MSG_SET_CODEC_MODULE                            =  67;
  XA_MSG_GET_CODEC_MODULE                            =  68;
  XA_MSG_SET_NOTIFICATION_MASK                       =  69;
  XA_MSG_GET_NOTIFICATION_MASK                       =  70;
  XA_MSG_SET_DEBUG_LEVEL                             =  71;
  XA_MSG_GET_DEBUG_LEVEL                             =  72;
  XA_MSG_NOTIFY_READY                                =  73;
  XA_MSG_NOTIFY_ACK                                  =  74;
  XA_MSG_NOTIFY_NACK                                 =  75;
  XA_MSG_NOTIFY_PONG                                 =  76;
  XA_MSG_NOTIFY_EXITED                               =  77;
  XA_MSG_NOTIFY_PLAYER_STATE                         =  78;
  XA_MSG_NOTIFY_PLAYER_MODE                          =  79;
  XA_MSG_NOTIFY_PLAYER_ENVIRONMENT_INTEGER           =  80;
  XA_MSG_NOTIFY_PLAYER_ENVIRONMENT_STRING            =  81;
  XA_MSG_NOTIFY_INPUT_STATE                          =  82;
  XA_MSG_NOTIFY_INPUT_NAME                           =  83;
  XA_MSG_NOTIFY_INPUT_CAPS                           =  84;
  XA_MSG_NOTIFY_INPUT_POSITION                       =  85;
  XA_MSG_NOTIFY_INPUT_POSITION_RANGE                 =  86;
  XA_MSG_NOTIFY_INPUT_TIMECODE                       =  87;
  XA_MSG_NOTIFY_INPUT_TIMECODE_GRANULARITY           =  88;
  XA_MSG_NOTIFY_INPUT_MODULE                         =  89;
  XA_MSG_NOTIFY_INPUT_MODULE_INFO                    =  90;
  XA_MSG_NOTIFY_INPUT_DEVICE_INFO                    =  91;
  XA_MSG_NOTIFY_INPUT_FILTER_INFO                    =  92;
  XA_MSG_NOTIFY_OUTPUT_STATE                         =  93;
  XA_MSG_NOTIFY_OUTPUT_NAME                          =  94;
  XA_MSG_NOTIFY_OUTPUT_CAPS                          =  95;
  XA_MSG_NOTIFY_OUTPUT_POSITION                      =  96;
  XA_MSG_NOTIFY_OUTPUT_POSITION_RANGE                =  97;
  XA_MSG_NOTIFY_OUTPUT_TIMECODE                      =  98;
  XA_MSG_NOTIFY_OUTPUT_TIMECODE_GRANULARITY          =  99;
  XA_MSG_NOTIFY_OUTPUT_VOLUME                        = 100;
  XA_MSG_NOTIFY_OUTPUT_BALANCE                       = 101;
  XA_MSG_NOTIFY_OUTPUT_PCM_LEVEL                     = 102;
  XA_MSG_NOTIFY_OUTPUT_MASTER_LEVEL                  = 103;
  XA_MSG_NOTIFY_OUTPUT_CHANNELS                      = 104;
  XA_MSG_NOTIFY_OUTPUT_PORTS                         = 105;
  XA_MSG_NOTIFY_OUTPUT_MODULE                        = 106;
  XA_MSG_NOTIFY_OUTPUT_MODULE_INFO                   = 107;
  XA_MSG_NOTIFY_OUTPUT_DEVICE_INFO                   = 108;
  XA_MSG_NOTIFY_OUTPUT_FILTER_INFO                   = 109;
  XA_MSG_NOTIFY_STREAM_MIME_TYPE                     = 110;
  XA_MSG_NOTIFY_STREAM_DURATION                      = 111;
  XA_MSG_NOTIFY_STREAM_PARAMETERS                    = 112;
  XA_MSG_NOTIFY_STREAM_PROPERTIES                    = 113;
  XA_MSG_NOTIFY_CODEC_QUALITY                        = 114;
  XA_MSG_NOTIFY_CODEC_EQUALIZER                      = 115;
  XA_MSG_NOTIFY_CODEC_MODULE                         = 116;
  XA_MSG_NOTIFY_CODEC_MODULE_INFO                    = 117;
  XA_MSG_NOTIFY_CODEC_DEVICE_INFO                    = 118;
  XA_MSG_NOTIFY_NOTIFICATION_MASK                    = 119;
  XA_MSG_NOTIFY_DEBUG_LEVEL                          = 120;
  XA_MSG_NOTIFY_PROGRESS                             = 121;
  XA_MSG_NOTIFY_DEBUG                                = 122;
  XA_MSG_NOTIFY_ERROR                                = 123;
  XA_MSG_NOTIFY_PRIVATE_DATA                         = 124;
  XA_MSG_COMMAND_FEEDBACK_HANDLER_MODULE_REGISTER    = 125;
  XA_MSG_COMMAND_FEEDBACK_HANDLER_MODULE_QUERY       = 126;
  XA_MSG_COMMAND_FEEDBACK_HANDLER_MODULES_LIST       = 127;
  XA_MSG_COMMAND_FEEDBACK_HANDLER_EXIT               = 128;
  XA_MSG_COMMAND_FEEDBACK_HANDLER_START              = 129;
  XA_MSG_COMMAND_FEEDBACK_HANDLER_STOP               = 130;
  XA_MSG_COMMAND_FEEDBACK_HANDLER_PAUSE              = 131;
  XA_MSG_COMMAND_FEEDBACK_HANDLER_RESTART            = 132;
  XA_MSG_COMMAND_FEEDBACK_HANDLER_FLUSH              = 133;
  XA_MSG_COMMAND_FEEDBACK_HANDLER_SEND_MESSAGE       = 134;
  XA_MSG_COMMAND_FEEDBACK_HANDLER_QUEUE_AUDIO_EVENT  = 135;
  XA_MSG_COMMAND_FEEDBACK_HANDLER_QUEUE_TAG_EVENT    = 136;
  XA_MSG_COMMAND_FEEDBACK_HANDLER_QUEUE_TIMECODE_EVENT = 137;
  XA_MSG_COMMAND_FEEDBACK_HANDLER_QUEUE_POSITION_EVENT = 138;
  XA_MSG_SET_FEEDBACK_AUDIO_EVENT_RATE               = 139;
  XA_MSG_GET_FEEDBACK_AUDIO_EVENT_RATE               = 140;
  XA_MSG_SET_FEEDBACK_HANDLER_NAME                   = 141;
  XA_MSG_GET_FEEDBACK_HANDLER_NAME                   = 142;
  XA_MSG_SET_FEEDBACK_HANDLER_MODULE                 = 143;
  XA_MSG_GET_FEEDBACK_HANDLER_MODULE                 = 144;
  XA_MSG_SET_FEEDBACK_HANDLER_ENVIRONMENT_INTEGER    = 145;
  XA_MSG_GET_FEEDBACK_HANDLER_ENVIRONMENT_INTEGER    = 146;
  XA_MSG_SET_FEEDBACK_HANDLER_ENVIRONMENT_STRING     = 147;
  XA_MSG_GET_FEEDBACK_HANDLER_ENVIRONMENT_STRING     = 148;
  XA_MSG_UNSET_FEEDBACK_HANDLER_ENVIRONMENT          = 149;
  XA_MSG_NOTIFY_FEEDBACK_AUDIO_EVENT_RATE            = 150;
  XA_MSG_NOTIFY_FEEDBACK_HANDLER_STATE               = 151;
  XA_MSG_NOTIFY_FEEDBACK_HANDLER_MODULE              = 152;
  XA_MSG_NOTIFY_FEEDBACK_HANDLER_MODULE_INFO         = 153;
  XA_MSG_NOTIFY_FEEDBACK_HANDLER_NAME                = 154;
  XA_MSG_NOTIFY_FEEDBACK_HANDLER_INFO                = 155;
  XA_MSG_NOTIFY_FEEDBACK_HANDLER_ENVIRONMENT_INTEGER = 156;
  XA_MSG_NOTIFY_FEEDBACK_HANDLER_ENVIRONMENT_STRING  = 157;
  XA_MSG_NOTIFY_FEEDBACK_AUDIO_EVENT                 = 158;
  XA_MSG_NOTIFY_FEEDBACK_TAG_EVENT                   = 159;
  XA_MSG_LAST                                        = 160;

{ Player State }
  XA_PLAYER_STATE_STOPPED                  = 0;
  XA_PLAYER_STATE_PLAYING                  = 1;
  XA_PLAYER_STATE_PAUSED                   = 2;
  XA_PLAYER_STATE_EOF                      = 3;

{ Input State }
  XA_INPUT_STATE_OPEN                      = 0;
  XA_INPUT_STATE_CLOSED                    = 1;

{ Output State }
  XA_OUTPUT_STATE_OPEN                     = 0;
  XA_OUTPUT_STATE_CLOSED                   = 1;

{ Feedback State }
  XA_FEEDBACK_STATE_STARTED                =  0;
  XA_FEEDBACK_STATE_STOPPED                =  1;

{ Channel Configurations }
  XA_OUTPUT_CHANNELS_STEREO                = 0;
  XA_OUTPUT_CHANNELS_MONO_LEFT             = 1;
  XA_OUTPUT_CHANNELS_MONO_RIGHT            = 2;
  XA_OUTPUT_CHANNELS_MONO_MIX              = 3;

{ Player Modes }
  XA_PLAYER_MODE_OUTPUT_AUTO_CLOSE_ON_STOP      = 1;
  XA_PLAYER_MODE_OUTPUT_AUTO_CLOSE_ON_PAUSE     = 2;
  XA_PLAYER_MODE_OUTPUT_AUTO_CLOSE_ON_EOF       = 4;

{ Notification Masks }
  XA_NOTIFY_MASK_ERROR                          = $0000001;
  XA_NOTIFY_MASK_DEBUG                          = $0000002;
  XA_NOTIFY_MASK_PROGRESS                       = $0000004;
  XA_NOTIFY_MASK_ACK                            = $0000008;
  XA_NOTIFY_MASK_NACK                           = $0000010;
  XA_NOTIFY_MASK_PLAYER_STATE                   = $0000020;
  XA_NOTIFY_MASK_INPUT_STATE                    = $0000040;
  XA_NOTIFY_MASK_INPUT_NAME                     = $0000080;
  XA_NOTIFY_MASK_INPUT_CAPS                     = $0000100;
  XA_NOTIFY_MASK_INPUT_POSITION                 = $0000200;
  XA_NOTIFY_MASK_INPUT_POSITION_RANGE           = $0000400;
  XA_NOTIFY_MASK_INPUT_TIMECODE                 = $0000800;
  XA_NOTIFY_MASK_INPUT_TIMECODE_GRANULARITY     = $0001000;
  XA_NOTIFY_MASK_OUTPUT_STATE                   = $0002000;
  XA_NOTIFY_MASK_OUTPUT_NAME                    = $0004000;
  XA_NOTIFY_MASK_OUTPUT_CAPS                    = $0008000;
  XA_NOTIFY_MASK_OUTPUT_VOLUME                  = $0010000;
  XA_NOTIFY_MASK_OUTPUT_BALANCE                 = $0020000;
  XA_NOTIFY_MASK_OUTPUT_PCM_LEVEL               = $0040000;
  XA_NOTIFY_MASK_OUTPUT_MASTER_LEVEL            = $0080000;
  XA_NOTIFY_MASK_OUTPUT_PORTS                   = $0100000;
  XA_NOTIFY_MASK_STREAM_MIME_TYPE               = $0200000;
  XA_NOTIFY_MASK_STREAM_DURATION                = $0400000;
  XA_NOTIFY_MASK_STREAM_PARAMETERS              = $0800000;
  XA_NOTIFY_MASK_STREAM_PROPERTIES              = $1000000;
  XA_NOTIFY_MASK_CODEC_EQUALIZER                = $2000000;
  XA_NOTIFY_MASK_FEEDBACK_EVENT                 = $4000000;

{ Input Caps }
  XA_DECODER_INPUT_SEEKABLE                  = $0001;

{ Output Caps }
  XA_DECODER_DEVICE_HAS_MASTER_LEVEL_CONTROL = $0000001;
  XA_DECODER_DEVICE_HAS_PCM_LEVEL_CONTROL    = $0000002;
  XA_DECODER_DEVICE_HAS_BALANCE_CONTROL      = $0000004;
  XA_DECODER_DEVICE_HAS_LINE_OUT             = $0000008;
  XA_DECODER_DEVICE_HAS_SPEAKER_OUT          = $0000010;
  XA_DECODER_DEVICE_HAS_HEADPHONE_OUT        = $0000020;
  XA_DECODER_DEVICE_HAS_MONO_16_00_KHZ       = $0000080;
  XA_DECODER_DEVICE_HAS_MONO_22_05_KHZ       = $0000100;
  XA_DECODER_DEVICE_HAS_MONO_24_00_KHZ       = $0000200;
  XA_DECODER_DEVICE_HAS_MONO_32_00_KHZ       = $0000400;
  XA_DECODER_DEVICE_HAS_MONO_44_10_KHZ       = $0000800;
  XA_DECODER_DEVICE_HAS_MONO_48_00_KHZ       = $0001000;
  XA_DECODER_DEVICE_HAS_STEREO_16_00_KHZ     = $0002000;
  XA_DECODER_DEVICE_HAS_STEREO_22_05_KHZ     = $0004000;
  XA_DECODER_DEVICE_HAS_STEREO_24_00_KHZ     = $0008000;
  XA_DECODER_DEVICE_HAS_STEREO_32_00_KHZ     = $0010000;
  XA_DECODER_DEVICE_HAS_STEREO_44_10_KHZ     = $0020000;
  XA_DECODER_DEVICE_HAS_STEREO_48_00_KHZ     = $0040000;
  XA_DECODER_DEVICE_HAS_8_BITS               = $0080000;
  XA_DECODER_DEVICE_HAS_MU_LAW               = $0100000;
  XA_DECODER_DEVICE_HAS_16_BITS              = $0200000;
  XA_DECODER_DEVICE_HAS_MUTE                 = $0400000;
  XA_DECODER_DEVICE_HAS_RESET                = $0800000;
  XA_DECODER_DEVICE_HAS_PAUSE                = $1000000;
  XA_DECODER_DEVICE_HAS_DRAIN                = $2000000;
  XA_DECODER_DEVICE_HAS_BUFFER_STATUS        = $4000000;

{ Output Ports }
  XA_DECODER_CONTROL_OUTPUT_LINE             = $01;
  XA_DECODER_CONTROL_OUTPUT_SPEAKER          = $02;
  XA_DECODER_CONTROL_OUTPUT_HEADPHONE        = $04;

{ Environment Variables }
  XA_DECODER_ENVIRONMENT_MAX_NAME_LENGTH     = 256;
  XA_DECODER_ENVIRONMENT_MAX_STRING_LENGTH   = 1024;

{ Input Device Flags }
  XA_DECODER_INPUT_QUERY_NAME_IS_GENERIC     = $01;
  XA_DECODER_INPUT_QUERY_DEVICE_IS_DEFAULT   = $02;

{ Output Device Flags }
  XA_DECODER_OUTPUT_QUERY_NAME_IS_GENERIC     = $01;
  XA_DECODER_OUTPUT_QUERY_DEVICE_IS_DEFAULT   = $02;
  XA_DECODER_OUTPUT_QUERY_DEVICE_IS_SHAREABLE = $04;

{ Modules }
  XA_DECODER_INPUT_AUTOSELECT              = -1;
  XA_DECODER_OUTPUT_AUTOSELECT             = -1;

{ Filters }
  XA_DECODER_INPUT_FILTER_FIRST            = -1;
  XA_DECODER_INPUT_FILTER_LAST             =  0;
  XA_DECODER_INPUT_FILTER_BY_NAME          = -2;

  XA_DECODER_OUTPUT_FILTER_FIRST           = -1;
  XA_DECODER_OUTPUT_FILTER_LAST            =  0;
  XA_DECODER_OUTPUT_FILTER_BY_NAME         = -2;

{ Priorities }
  XA_CONTROL_PRIORITY_LOWEST               = 0;
  XA_CONTROL_PRIORITY_LOW                  = 1;
  XA_CONTROL_PRIORITY_NORMAL               = 2;
  XA_CONTROL_PRIORITY_HIGH                 = 3;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -