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

📄 如何实现wav文件的减速播放.txt

📁 以电子书的形式收集了VB一些常见问题解决方法,可以很方便的查找自己需要解决的问题.对一些VB初学者很用.
💻 TXT
字号:
VB干 不 了 这 个 活 。 声 音 的 慢 放 是 个 很 复 杂 的 问 题 , 单 纯 的 慢 放 会 引 起 声 音 严 重 失 真 , 前 年 (1997)《 音 像 世 界 》 的 《 音 像 博 士 》 曾 回 答 过 这 个 问 题 , 你 可 以 查 阅 了 解 声 音 慢 放 。 
<END>    
引 入 directX库 : 
    建 立 command1.command2 
    HScroll2(取 值 在 100,32767) 
    '------------------ 
    Dim dx As New DirectX7 
    Dim ds As DirectSound 
    Dim dsb As DirectSoundBuffer 
     
    Private Sub Command1_Click() 
    dsb.Play 1 
    End Sub 
     
    Private Sub Command2_Click() 
    dsb.Stop 
    End Sub 
     
    Private Sub Form_Load() 
    Set ds = dx.DirectSoundCreate("") 
    ds.SetCooperativeLevel Me.hWnd, DSSCL_PRIORITY 
    loadwav 
    End Sub 
    Private Sub loadwav() 
    Dim desc As DSBUFFERDESC 
    Dim wa As WAVEFORMATEX 
     desc.lFlags = DSBCAPS_CTRLFREQUENCY Or DSBCAPS_CTRLPAN Or DSBCAPS_CTRLVOLUME Or DSBCAPS_STATIC 
     
    Set dsb1 = ds.CreateSoundBufferFromFile("f:\bye.wav", desc, wa) 
    Set dsb = ds.CreateSoundBufferFromFile("f:\welcome.wav", desc, wa) 
    End Sub 
    Private Sub HScroll2_Change() 
    dsb.SetFrequency HScroll2.Value 
    End Sub 
<END>    
通 过 修 改 WAV文 件 格 式 区 的 采 样 率 可 以 实 现 WAV慢 放 ,首 先 把 DEMO.WAV调 入 内 存 ,在 偏 移 地 址 为 18H处 读 出 一 个 整 型 数 (4 BYTES),把 它 除 以 2再 写 回 去 ,同 样 对 1CH处 读 出 一 个 整 型 数 (4 BYTES),把 它 除 以 2再 写 回 去 ,播 放 这 一 段 内 存 即 可 。 
<END>

⌨️ 快捷键说明

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