1

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)
{

}

そのため、通話の両端を録音して保存するために何をすべきかを理解するのに助けが必要です. コードのどこでこれを行うことができますか?

4

1 に答える 1

2

mciSendStringSkypeについて何も知りません。コンピューターのマイクが拾ったものを記録するだけです (これには、Skype の他のユーザーは含まれません)。

相手が録音するには、Skype 自体からオーディオ ストリームを取得する必要があると思います。

于 2014-03-18T18:33:34.067 に答える