【发布时间】:2017-08-02 09:16:00
【问题描述】:
我正在开发与 UWP 兼容的 Xamarin.Forms 应用程序。我的要求是播放、暂停、前进、后退录制的音频文件。为此,我在 Xamarin.Forms 可移植项目中创建了一个界面
public interface IRecordAudio
{
Task<TimeSpan> SetSource(Stream _stream);
void PlayAudio();
void ForwardAudio();
void RewindAudio();
void PauseAudio();
}
并且接口的实现在UWP项目中如下:
public class RecordAudioUWP : IRecordAudio
{
public async Task<TimeSpan> SetSource(Stream _stream)
{
StorageFolder local = Windows.Storage.ApplicationData.Current.LocalFolder;
var folder = await local.GetFolderAsync("Recordings");
var file = await folder.GetFileAsync("MySound.MP3");
var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read);
element.SetSource(stream, "");
MusicProperties properties = await
file.Properties.GetMusicPropertiesAsync();
TimeSpan myTrackDuration = properties.Duration;
return myTrackDuration;
}
public void PlayAudio()
{
element.Play();
}
public void ForwardAudio() //Not Working
{
element.Position += TimeSpan.FromSeconds(10);
}
public void PauseAudio()
{
element.Pause();
}
public void RewindAudio() //Not Working
{
element.Position -= TimeSpan.FromMinutes(1);
}
}
音频的来源已正确设置。音频正确播放和暂停。我在前进和后退音频文件时遇到问题。
请让我知道我哪里做错了。谢谢
【问题讨论】:
标签: c# xamarin uwp xamarin.forms