Class SPXAudioDataStream

Declaration

@class SPXAudioDataStream : NSObject;

Description

Represents audio data stream used for operating audio data as a stream.

Added in version 1.7.0

Methods

initFromSynthesisResult:

Initializes an audio data stream from given speech synthesis result.

- (instancetype _Nullable)initFromSynthesisResult:(SPXSpeechSynthesisResult * _Nonnull)result

Parameters

  • result - the speech synthesis result.

Returns

an instance of audio data stream.

initFromSynthesisResult:error:

Initializes an audio data stream from given speech synthesis result.

- (instancetype _Nullable)initFromSynthesisResult:(SPXSpeechSynthesisResult * _Nonnull)result
    error:(NSError * _Nullable * _Nullable)outError

Parameters

  • result - the speech synthesis result.
  • outError - error information.

Returns

an instance of audio data stream.

initFromKeywordRecognitionResult:

Obtains the memory backed AudioDataStream associated with a given KeywordRecognition result.

- (instancetype _Nullable)initFromKeywordRecognitionResult:(SPXKeywordRecognitionResult * _Nonnull)result

Parameters

  • result - the keyword recognition result.

Returns

An audio stream with the input to the KeywordRecognizer starting from right before the Keyword.

initFromKeywordRecognitionResult:error:

Obtains the memory backed AudioDataStream associated with a given KeywordRecognition result.

- (instancetype _Nullable)initFromKeywordRecognitionResult:(SPXKeywordRecognitionResult * _Nonnull)result
    error:(NSError * _Nullable * _Nullable)outError

Parameters

  • result - the keyword recognition result.
  • outError - error information.

Returns

An audio stream with the input to the KeywordRecognizer starting from right before the Keyword.

getStatus

Get current status of the audio data stream.

- (SPXStreamStatus)getStatus

Returns

current status.

canReadData:

Check wheather the stream has enough data to be read.

- (BOOL)canReadData:(NSUInteger)bytesRequested

Parameters

  • bytesRequested - the request data size in bytes.

Returns

a bool indicating whether the stream has enough data to be read.

canReadDataFromPosition:bytesRequested:

Check whether the stream has enough data to be read, starting from the specified position.

- (BOOL)canReadDataFromPosition:(NSUInteger)pos bytesRequested:(NSUInteger)bytesRequested

Parameters

  • pos - the position counting from start of the stream.
  • bytesRequested - the request data size in bytes.

Returns

a bool indicating whether the stream has enough data to be read.

readData:length:

Reads a chunk of the audio data and fill it to given buffer.

- (NSUInteger)readData:(NSMutableData * _Nonnull)data length:(NSUInteger)length

Parameters

  • data - a buffer to receive read data.
  • length - length of the data to be received.

Returns

length of data filled to the buffer, 0 means end of stream.

readDataFromPosition:data:length:

Reads a chunk of the audio data and fill it to given buffer, starting from the specified position.

- (NSUInteger)readDataFromPosition:(NSUInteger)pos data:(NSMutableData * _Nonnull)data
    length:(NSUInteger)length

Parameters

  • pos - the position counting from start of the stream.
  • data - a buffer to receive read data.
  • length - length of the data to be received.

Returns

length of data filled to the buffer, 0 means end of stream.

saveToWavFile:

Save the audio data to a file.

- (void)saveToWavFile:(NSString * _Nonnull)fileName

Parameters

  • fileName - the file name with full path.

getPosition

Get current position of the audio data stream.

- (NSUInteger)getPosition

Returns

current position

setPosition:

Set current position of the audio data stream.

- (void)setPosition:(NSUInteger)pos

Parameters

  • pos - position to be set.

detachInput

Stops any more data from getting to the stream.

- (void)detachInput

detachInput:

Stops any more data from getting to the stream.

- (void)detachInput:(NSError * _Nullable * _Nullable)outError

Parameters

  • outError - error information.