我将构建从网址播放音乐的Xamarin.Forms应用程序。
我为每个平台实现使用了依赖服务。
[assembly: Dependency(typeof(AudioSerivce))]
namespace xxx.Droid
{
public class AudioSerivce : IAudio
{
int clicks = 0;
MediaPlayer player;
public AudioSerivce()
{
}
public bool Play_Pause (string url)
{
if (clicks == 0) {
this.player = new MediaPlayer();
this.player.SetDataSource(url);
this.player.SetAudioStreamType(Stream.Music);
this.player.PrepareAsync();
this.player.Prepared += (sender, args) =>
{
this.player.Start();
};
clicks++;
} else if (clicks % 2 != 0) {
this.player.Pause();
clicks++;
} else {
this.player.Start();
clicks++;
}
return true;
}
public bool Stop (bool val)
{
this.player.Stop();
clicks = 0;
return true;
}
}
}
并将其称为
DependencyService.Get<IAudio>().Play_Pause("https://www.searchgurbani.com/audio/sggs/1.mp3");
如果我查看日志,似乎一切正常。 但我无法在Android手机上听到声音。 如果有人有任何建议,请告诉我。 感谢
答案 0 :(得分:0)
自:
https://forums.xamarin.com/discussion/64218/no-video-player-really
我怀疑Octane视频播放器与Android Emulator之间存在不兼容问题,您使用的是模拟器/模拟器吗?
另一个建议是添加此权限:
INTERNET WRITE_EXTERNAL_STORAGE READ_EXTERNAL_STORAGE
到您的Android应用。
如果这不起作用,请尝试使用其他网址,并比较它是否与其他网址一起使用。