基於the answer of this question和this example我已經使用Xamarin實現了Visualizer
。Xamarin Android Visualizer SetDataCaptureListener引發InvalidCastException
myVisualizer = new Visualizer(0);
myVisualizer.SetEnabled(false);
myVisualizer.SetCaptureSize(Visualizer.GetCaptureSizeRange()[1]);
myVisualizer.SetDataCaptureListener(new VisualizerCapturer(), Visualizer.MaxCaptureRate, true, false);
代碼工作,直到我打電話myVisualizer.SetDataCaptureListener(...)
和異常
System.Reflection.TargetInvocationException:異常已通過調用的目標引發異常 。 ---> System.InvalidCastException: 指定的轉換無效。在 Android.Media.Audiofx.Visualizer.SetDataCaptureListener (Android.Media.Audiofx.Visualizer + IOnDataCaptureListener聽者, System.Int32率,System.Boolean波形,System.Boolean FFT) [0x0000b]在 /用戶/助洗劑/data/lanes/4009/9578cdcd/source/monodroid/src/Mono.Android/platforms/android-23/src/generated/Android.Media.Audiofx.Visualizer.cs:811
被拋出。我IOnDataCaptureListener
實施是沒有任何代碼(我做的方法中斷點,異常被拋出之前沒有方法被調用)
public class VisualizerCapturer : Visualizer.IOnDataCaptureListener
{
public IntPtr Handle
{
get
{
throw new NotImplementedException();
}
}
public void Dispose()
{
throw new NotImplementedException();
}
public void OnFftDataCapture(Visualizer visualizer, byte[] fft, int samplingRate)
{
throw new NotImplementedException();
}
public void OnWaveFormDataCapture(Visualizer visualizer, byte[] waveform, int samplingRate)
{
throw new NotImplementedException();
}
}
我完全不知道什麼我的問題,我希望有人能幫助我我的問題。
完美的答案,就像魅力,非常感謝! – Fruchtzwerg
@Fruchtzwerg很高興我能幫忙,快樂的Xam'ie編碼 – SushiHangover