【发布时间】:2014-07-29 13:24:07
【问题描述】:
我正在使用 C# 在我的应用程序中进行录制。
我将语音录制到同一个文件并播放,但 SoundPlayer 播放的是第一次录制的内容。
例如我有文件test.wav,我在其中记录"hello",然后我将"hi"记录到同一个文件中
通过覆盖文件。当我播放文件test.wav时,播放器播放"hello"。
我只有一个播放器实例,例如
public static System.Media.SoundPlayer Player;
static void Main()
{
try
{
Player = new System.Media.SoundPlayer();
}
catch (Exception ex)
{
}
}
文件播放代码:
public static void Play(string fileName)
{
if (File.Exists(fileName))
{
Program.Player.SoundLocation = fileName;
Program.Player.Load();
if (Program.Player.IsLoadCompleted)
{
Program.Player.Play();
}
}
}
我不知道这里出了什么问题。
【问题讨论】:
-
"我不知道这里出了什么问题。" - 只要你抓住并忽略所有有价值的例外,你永远不会这样做。
-
实际加载和播放文件的代码在哪里?
-
所以有什么例外吗?录音方法呢?
-
@UweKeim:try/catch 仅在我创建播放器时使用。
-
感谢您添加额外的代码。每次将新文件写入磁盘时都会调用整个 Play 函数吗?