41 lines
1.1 KiB
Objective-C
41 lines
1.1 KiB
Objective-C
//
|
|
// MMAudioTelemetryProvider.h
|
|
// MacMonitor
|
|
//
|
|
// Telemetry provider enumerating CoreAudio input/output devices, sample rates, volume, and active status.
|
|
//
|
|
|
|
#import <Foundation/Foundation.h>
|
|
#import "MMTelemetryProvider.h"
|
|
|
|
NS_ASSUME_NONNULL_BEGIN
|
|
|
|
@interface MMAudioDevice : NSObject
|
|
|
|
@property (nonatomic, assign) uint32_t deviceID;
|
|
@property (nonatomic, copy) NSString *name;
|
|
@property (nonatomic, copy) NSString *manufacturer;
|
|
@property (nonatomic, copy) NSString *uid;
|
|
@property (nonatomic, assign) BOOL isInput;
|
|
@property (nonatomic, assign) BOOL isOutput;
|
|
@property (nonatomic, assign) BOOL isDefaultInput;
|
|
@property (nonatomic, assign) BOOL isDefaultOutput;
|
|
@property (nonatomic, assign) double sampleRate;
|
|
@property (nonatomic, assign) uint32_t channelCount;
|
|
@property (nonatomic, assign) float volume;
|
|
@property (nonatomic, assign) BOOL isMuted;
|
|
|
|
- (NSDictionary<NSString *, id> *)toDictionary;
|
|
|
|
@end
|
|
|
|
@interface MMAudioTelemetryProvider : NSObject <MMTelemetryProvider>
|
|
|
|
- (instancetype)init;
|
|
|
|
+ (NSArray<MMAudioDevice *> *)sampleAudioDevices;
|
|
|
|
@end
|
|
|
|
NS_ASSUME_NONNULL_END
|