KSAudioSessionManager.h 994 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. //
  2. // KSAudioSessionManager.h
  3. // TeacherDaya
  4. //
  5. // Created by Kyle on 2021/6/29.
  6. // Copyright © 2021 DayaMusic. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. typedef NS_ENUM(NSInteger, AUDIOCONFIG) {
  10. AUDIOCONFIG_RECORD, // 录制
  11. AUDIOCONFIG_PLAY, // 播放
  12. AUDIOCONFIG_PLAYANDRECORD, // 播放和录制
  13. };
  14. typedef NS_ENUM(NSInteger, AUDIODEVICE_TYPE) {
  15. AUDIODEVICE_TYPE_NONE, // 无外接输出设备
  16. AUDIODEVICE_TYPE_HEADPHONE, // 有线耳机
  17. AUDIODEVICE_TYPE_BLUETOOTH, // 蓝牙耳机
  18. };
  19. NS_ASSUME_NONNULL_BEGIN
  20. @protocol KSAudioSessionManagerDelegate <NSObject>
  21. - (void)recordInterruption;
  22. - (void)resumeAudioSession;
  23. @optional
  24. - (void)audioRouteChange:(AUDIODEVICE_TYPE)type;
  25. @end
  26. @interface KSAudioSessionManager : NSObject
  27. @property (nonatomic, weak) id<KSAudioSessionManagerDelegate>delegate;
  28. - (void)configAudioSession:(AUDIOCONFIG)config;
  29. + (AUDIODEVICE_TYPE)queryAudioOutputDevice;
  30. @end
  31. NS_ASSUME_NONNULL_END