我試圖找到一種方法來檢測Xamarin.iOS中耳機插孔上的插拔事件,特別是最新版本(iOS 7) 。我找到了解決早期版本的帖子,但這似乎不適用於iOS 7.有沒有辦法在這個版本中做到這一點?如果是這樣,我該如何實現該功能?在Xamarin.iOS(iOS 7)中檢測耳機插孔上的插拔事件
3
A
回答
1
using System.Runtime.InteropServices;
using MonoTouch.AudioToolbox;
public override void ViewDidLoad()
{
base.ViewDidLoad();
.
.
.
AudioSession.Initialize(null, NSRunLoop.NSDefaultRunLoopMode);
AudioSession.AudioRouteChanged += AudioSession_AudioRouteChanged;
}
void AudioSession_AudioRouteChanged (object sender, AudioSessionRouteChangeEventArgs e)
{
if (e.CurrentOutputRoutes [0] == AudioSessionOutputRouteKind.Headphones)
{
//Code when is plugged
}
else
{
//Code when is unplugged
}
}
2
事情是這樣的:
using System.Runtime.InteropServices;
using MonoTouch.AudioToolbox;
...
public override void ViewDidLoad()
{
base.ViewDidLoad();
AudioSession.AddListener(AudioSessionProperty.AudioRouteChange, EventHandler);
}
void EventHandler(AudioSessionProperty prop, int size, IntPtr data)
{
var isHeadphonesAvailable = IsHeadphonesAvailable (prop, size, data);
if (isHeadphonesAvailable) {
// Do something
} else {
// Do something else
}
}
bool IsHeadphonesAvailable(AudioSessionProperty prop, int size, IntPtr data)
{
var result = false;
if (prop == AudioSessionProperty.AudioRouteChange) {
var text = Marshal.PtrToStringAuto (data, size);
result = (text.Contains ("Head"));
}
return result;
}
沒有嘗試真正的設備上。只需轉換Objective-C
片段之一即可。
+0
感謝您的回答,但代碼在iOS7中已過時 –
相關問題
- 1. iPhone中的插孔/耳機檢測
- 2. 檢測耳機是否插入Java耳機插孔
- 3. 如何檢測WinRT中未插入的耳機插孔?
- 4. 如何檢測Mac上的耳機插孔中的東西?
- 5. Android的耳機插孔
- 6. 在wp7中檢測插入/拔出耳機
- 7. 耳機插孔聽衆Android
- 8. 當我的應用程序處於後臺模式時,檢測插入或拔出耳機插孔
- 9. 如何檢測UWP應用程序中未插入的耳機插孔?
- 10. 帶Realtek ALC888的事件耳機插孔(Windows XP)
- 11. iOS應用程序在耳機插入或拔出時崩潰
- 12. 閱讀iPhone耳機插孔或藍牙(心率測量)
- 13. iPhone耳機插孔 - 讀入數據?
- 14. 如何檢測「離線」模式下的耳機插頭事件
- 15. 操縱耳機插孔輸出
- 16. 的iOS強制音頻輸出只有耳機插孔
- 17. JavaME:如何檢測耳機插件和插件?
- 18. 檢測耳機是否插入iPhone
- 19. 檢測耳機是否插入iPhone/iPod
- 20. 如何檢測在Android 8.0上插入耳機的targetSDKVersion> = 26
- 21. 在android耳機插孔中創建特定的方形信號
- 22. 音頻路由不變時的耳機插件插件事件 - iOS
- 23. 檢測耳機是否插入iOS設備
- 24. 在Android中通過耳機插孔輸入音頻?
- 25. iPhone的耳機插孔可以用作設備的輸入嗎?
- 26. 在iOS中使用耳機插孔引腳同時播放和錄製音頻?
- 27. 用於檢測熱插拔事件的python腳本
- 28. 通過Android手機的耳機插孔發送數據
- 29. 通過VBScript檢測耳機是否插入或未插入
- 30. 通過耳機插孔將數據傳輸到iPhone
你試過什麼解決方案? –