游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3982|回复: 3

VB DirectSound简单实现音乐播放

[复制链接]

68

主题

228

帖子

241

积分

中级会员

Rank: 3Rank: 3

积分
241
QQ
发表于 2003-10-10 00:03:00 | 显示全部楼层 |阅读模式
Option Explicit

Dim objDX As New DirectX7
Dim objDS As DirectSound
Dim objDSB As DirectSoundBuffer
Dim blnLoaded As Boolean

Private Sub Form_Load()
    On Local Error Resume Next
    Set objDS = objDX.DirectSoundCreate("")
    If Err.Number <> 0 Then
        MsgBox "创建DirectSound失败!"
        End
    End If
    objDS.SetCooperativeLevel Me.hWnd, DSSCL_NORMAL
   
    LoadWaveFile
End Sub

Sub LoadWaveFile()
    Dim bufferDesc As DSBUFFERDESC
    Dim waveFormat As WAVEFORMATEX
    Dim sndFile As String
    sndFile = "c:\windows\media\logoff.wav"
   
    bufferDesc.lFlags = DSBCAPS_CTRLPAN Or DSBCAPS_CTRLVOLUME Or DSBCAPS_STATIC
   
    waveFormat.nFormatTag = WAVE_FORMAT_PCM
    waveFormat.nChannels = 2                    'stereo
    waveFormat.lSamplesPerSec = 22050           '22kHz
    waveFormat.nBitsPerSample = 16              '16-bit
    waveFormat.nBlockAlign = waveFormat.nBitsPerSample / 8 * waveFormat.nChannels
    waveFormat.lAvgBytesPerSec = waveFormat.lSamplesPerSec * waveFormat.nBlockAlign
   
    Set objDSB = objDS.CreateSoundBufferFromFile(sndFile, bufferDesc, waveFormat)
   

    If Err.Number <> 0 Then
        MsgBox "ERROR!!"
        End
    End If

    objDSB.SetVolume 0
    objDSB.SetPan 0

    Dim flag As Long
    flag = 0


    objDSB.Play flag
   
End Sub

25

主题

234

帖子

262

积分

中级会员

Rank: 3Rank: 3

积分
262
发表于 2003-10-10 10:30:00 | 显示全部楼层

Re:VB DirectSound简单实现音乐播放

顶。

11

主题

274

帖子

669

积分

高级会员

Rank: 4

积分
669
发表于 2003-10-14 16:51:00 | 显示全部楼层

Re:VB DirectSound简单实现音乐播放

看不太懂!!

5

主题

27

帖子

27

积分

注册会员

Rank: 2

积分
27
发表于 2003-11-13 21:07:00 | 显示全部楼层

Re:VB DirectSound简单实现音乐播放

顶。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-2-24 03:34

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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