Recode.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. //
  2. // Recode.h
  3. // 界面1
  4. //
  5. // Created by hzjf on 14-1-7.
  6. // Copyright (c) 2014年 hzjf. All rights reserved.
  7. //
  8. /***
  9. 麦克风音频流收集工具,用于对讲功能
  10. *****/
  11. #import <Foundation/Foundation.h>
  12. #import <AVFoundation/AVAudioSession.h>
  13. #import <AudioToolbox/AudioToolbox.h>
  14. #import <CoreAudio/CoreAudioTypes.h>
  15. #define kNumberBuffers 3
  16. #define t_sample SInt16
  17. #define kSamplingRate 8000
  18. #define kNumberChannels 1
  19. #define kBitesPerChannels (sizeof(t_sample) * 8)
  20. #define kBytesPerFrame (kNumberChannels * sizeof(t_sample))
  21. #define kFrameSize 640
  22. typedef struct AQCallbackStruct
  23. {
  24. //音频流描述对象
  25. AudioStreamBasicDescription mDataFormate;
  26. //音频队列
  27. AudioQueueRef queue;
  28. AudioQueueBufferRef mBuffers[kNumberBuffers];
  29. AudioFileID outputFile;
  30. unsigned long frameSize;
  31. long long recPtr;
  32. int run;
  33. } AQCallbackStruct;
  34. @interface Recode : NSObject <AVAudioSessionDelegate>
  35. {
  36. AQCallbackStruct aqc;
  37. AudioFileTypeID fileFormat;
  38. //long _talkHandler;
  39. }
  40. @property (nonatomic,strong) NSString *deviceMac;
  41. @property (nonatomic) BOOL sendData;;
  42. - (id)init;
  43. //-(void) SetTalkHandler:(long)handler;
  44. - (void)startRecode:(NSString *)devMac;
  45. - (void)stopRecode;
  46. - (void)processAudioBuffer:(AudioQueueBufferRef) buffer withQueue:(AudioQueueRef)queue;
  47. @property (nonatomic, assign)AQCallbackStruct aqc;
  48. @end