我正在努力录制&使用c#保存skype调用通信,但它只能工作一半。 当我从Skype拨打移动号码并连接时,他们所说的内容并没有被录制,但我所说的是正在录制的&保存。
我只是不明白为什么其他人的声音没有被记录下来&保存。这是我的代码:
public void Skype_CallStatus(Call call, TCallStatus status)
{
int result = 0;
Configuration config =
ConfigurationManager.OpenExeConfiguration
(System.Windows.Forms.Application.ExecutablePath);
if (status == TCallStatus.clsInProgress)
{
mciSendString("open new Type waveaudio Alias recsound", "", 0, 0);
mciSendString("record recsound", "", 0, 0);
}
else if (status == TCallStatus.clsFinished)
{
DateTime currdate = DateTime.Now;
string datetime = string.Format("{0:yyyyMMddhhmmss}.wav", DateTime.Now);
string wavfilename = "";
if (config.AppSettings.Settings["VoiceRecordsPath"].Value != null)
{
//wavfilename = config.AppSettings.Settings["VoiceRecordsPath"]
//.Value.Replace(",","") + "_" + CSRBusiness.User.Country + "_"
//+ datetime + @".wav";
wavfilename = CSRBusiness.User.Country + "_" + datetime;
}
Directory.SetCurrentDirectory( config.AppSettings.Settings
["VoiceRecordsPath"].Value.Replace(",", ""));
//result = mciSendString("save recsound " + wavfilename, "", 0, 0);
result = mciSendString("save recsound d://test.wav", "", 0, 0);
mciSendString("close recsound ", "", 0, 0);
MessageBox.Show(result.ToString());
}
// MessageBox.Show(result.ToString());
}
实际上,语音会从此区域录制并保存:
else if (status == TCallStatus.clsFinished)
{
}
所以我需要帮助找出要记录和做的事情。保存通话的两端。我的代码在哪里可以做到这一点?
答案 0 :(得分:2)
mciSendString
对Skype一无所知。它所做的只是记录您的计算机麦克风拾取的内容(不包括Skype中的其他用户)。
我希望您必须从Skype本身获取音频流给其他人才能录制它。