本文介绍了如何在C#与C#低延迟/非常小的延迟播放音频文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我如何发挥在C#中的音频文件(.MP3)具有非常小的延迟?我的意思是,该文件应该开始播放用户输入后,右边的比提供及更高版本。
How do I play an audio file(.mp3) in C# with very little delay? What I mean is, the file should start playing the right after user input is provided and later than that.
另外,我怎么能在同一时间玩两个并联的音频文件?
Also, how can I play two audio files in parallel at the same time?
推荐答案
我告诉你我是如何做到这一点使用DirectX AudioVideoPlayback:
I show you how I do this using DirectX AudioVideoPlayback:
public class MusicPlayer
{
private static Audio m_Audio;
private static void Loop(Object Sender, EventArgs e)
{
((Audio)Sender).SeekCurrentPosition(0d, SeekPositionFlags.AbsolutePositioning);
}
public static void Dispose()
{
if (m_Audio != null)
{
m_Audio.Stop();
m_Audio.Dispose();
m_Audio = null;
}
}
public static void Mute()
{
if ((m_Audio != null) && m_Audio.Playing)
m_Audio.Volume = -10000;
}
public static void Play(String filePath, Boolean loop)
{
if (File.Exists(filePath))
{
Dispose();
if (m_Audio == null)
m_Audio = new Audio(filePath);
else
m_Audio.Open(filePath);
if (loop)
m_Audio.Ending += Loop;
m_Audio.Volume = MusicSettings.Volume - 10000;
m_Audio.Play();
}
}
public static void Unmute()
{
if (m_Audio != null)
m_Audio.Volume = MusicSettings.Value - 10000;
}
}
您可以从这个片段开始。
You can start from this snippet.
这篇关于如何在C#与C#低延迟/非常小的延迟播放音频文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!