virusX
V2EX  ›  C#

求助 C# 关于 DirectX 的编程,如何控制系统左右声道播放不同 WAV 音频

  •  
  •   virusX · Aug 11, 2020 · 4664 views
    This topic created in 2101 days ago, the information mentioned may be changed or developed.
    利用两个线程同时播放两个音频文件,一个输出左声道,一个输出右声道。

    deviceBuf.secondBuf = new Microsoft.DirectX.DirectSound.SecondaryBuffer(musicPath, deviceBuf.device);
    Microsoft.DirectX.DirectSound.BufferDescription buffDes = new Microsoft.DirectX.DirectSound.BufferDescription();
    buffDes.GlobalFocus = true;//设置缓冲区全局获取焦点
    buffDes.ControlVolume = true;//指明缓冲区可以控制声音
    buffDes.ControlPan = true;//指明缓冲区可以控制声道平衡
    deviceBuf.secondBuf = new Microsoft.DirectX.DirectSound.SecondaryBuffer(musicPath, buffDes ,deviceBuf.device); //创建辅助缓冲区
    deviceBuf.secondBuf.Pan = Convert.ToInt32(Microsoft.DirectX.DirectSound.Pan.Left);

    但是会有混音的情况。有大佬知道什么情况么?
    No Comments Yet
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3242 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 00:30 · PVG 08:30 · LAX 17:30 · JFK 20:30
    ♥ Do have faith in what you're doing.