QNAudioFrame.h 876 B

12345678910111213141516171819202122232425262728293031323334
  1. //
  2. // QNAudioFrame.h
  3. // QNRTCKit
  4. //
  5. // Created by ShengQiang'Liu on 2023/9/7.
  6. // Copyright © 2023 Pili Engineering, Qiniu Inc. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. NS_ASSUME_NONNULL_BEGIN
  10. enum QNBytesPerSample {
  11. kTwoBytesPerSample = 2,
  12. };
  13. // Stereo, 32 kHz, 120 ms (2 * 32 * 120)
  14. static const int kQNMaxDataSizeSamples = 7680;
  15. static const int kQNMaxDataSizeBytes = kQNMaxDataSizeSamples * sizeof(int16_t);
  16. @interface QNAudioFrame : NSObject
  17. @property (nonatomic, assign) uint32_t captureTimestamp;
  18. @property (nonatomic, assign) size_t samplesPerChannel;
  19. @property (nonatomic, assign) int sampleRateHz;
  20. @property (nonatomic, assign) size_t numChannels;
  21. @property (nonatomic, assign, readonly) enum QNBytesPerSample bytePerSample;
  22. // 最大 size 为 kQNMaxDataSizeBytes
  23. @property (nonatomic, strong) NSData *data;
  24. @end
  25. NS_ASSUME_NONNULL_END