일부 사운드를 재생하는 데 도움이되는 xamarin.forms로 앱을 개발 중입니다. 이를 위해 는 인터페이스를 만들어 'IAudioPlayer' DependencyService.Get <>() not working
namespace ClassLibrary.AudioPlayer
{
public interface IAudioPlayer
{
void PlayAudio(string filename);
}
}
그리고 드로이드 프로젝트에 내가 이런 식으로 구현있어
: 내가DependencyService.Get<ClassLibrary.AudioPlayer.IAudioPlayer>();
를 호출 할 때 지금은 휴식 및 ' "방법 말한다
using System;
using Android.Media;
using Xamarin.Forms;
[assembly: Dependency(typeof(myApp.Droid.AudioPlayer_Android))]
namespace myApp.Droid
{
public class AudioPlayer_Android : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity, ClassLibrary.AudioPlayer.IAudioPlayer, AudioTrack.IOnPlaybackPositionUpdateListener
{
public void PlayAudio(string filename)
{
var player = new MediaPlayer();
var fd = global::Android.App.Application.Context.Assets.OpenFd(filename);
player.Prepared += (s, e) =>
{
player.Start();
};
player.SetDataSource(fd.FileDescriptor, fd.StartOffset, fd.Length);
player.Prepare();
}
public void OnMarkerReached(AudioTrack track)
{
throw new NotImplementedException();
}
public void OnPeriodicNotification(AudioTrack track)
{
throw new NotImplementedException();
}
}
}
을 Xamarin.Forms.DependencyService '. 다른 유형 (예를 들어 지역 DB 구현) 잘 작동과 DependencyService.Get<>()
를 사용하여 메신저.
어떤 생각 내가 뭘하고있어 WR'유형에서 찾을 수 없습니다 '하기 여기에?