Windows phone 7의 음성 (오디오) 녹음과 관련하여 다음과 같은 문제가 있습니다.Windows Phone 7에서 녹음 된 오디오를 증폭하고, 비트 전송률을 높이고, 페이드 아웃하는 방법은 무엇입니까?
Microsoft.Xna.Framework.Audio 네임 스페이스에서 사용할 수있는 마이크 클래스를 사용하여 사운드를 녹음하고 있습니다. 여기에 코드입니다 -
변수 선언 :
private Microphone mic = Microphone.Default;
private MemoryStream stream;
private const string FILE_NAME = "recording.mp3";
byte[] buffer;
가 녹화 버튼 클릭이
mic.BufferDuration = TimeSpan.FromSeconds(1);
buffer = new byte[mic.GetSampleSizeInBytes(mic.BufferDuration)];
// Create the event handler. I could have done an anonymous
// delegate here if I had so desired.
mic.BufferReady += new EventHandler<EventArgs>(mic_BufferReady);
stream = new MemoryStream();
mic.Start();
버퍼 준비 이벤트 코드 ----------
void mic_BufferReady(object sender, EventArgs e)
{
mic.GetData(buffer);
// Write buffer to stream
stream.Write(buffer, 0, buffer.Length);
}
을 코드 -
버튼 스톱 코드 -
private void btnStop_Click(object sender, RoutedEventArgs e)
{
dt.Stop();
btnStop.IsEnabled = false;
btnPlayRecording.IsEnabled = true;
mic.Stop();
//Writing stream into Storage
writeFile(stream);
}
private void writeFile(MemoryStream s, string name)
{
try
{
using (var userStore = IsolatedStorageFile.GetUserStoreForApplication())
{
if (userStore.FileExists(name))
{
userStore.DeleteFile(name);
}
using (var file = userStore.OpenFile(name, FileMode.CreateNew))
{
s.WriteTo(file);
}
}
}
catch (Exception ee)
{
}
}
일단 스트림을 격리 된 저장소에 저장하고 재생하면 볼륨이 낮아지고 품질도 좋지 않습니다.
그래서- 우리는 볼륨을 증폭 할 수 있습니까?
- 우리는 비트율을 높일 수 있습니까?
- 우리는 Fadin-Fadout을 할 수 있습니까?
위의 세 가지 모두를 Windows Phone 7에서 사용할 수없는 경우 이러한 모든 작업을 수행 할 수있는 타사 API가 있습니까?
미리 감사드립니다.