QHSpeechSynthesizerQueue alternatives and similar libraries
Based on the "Audio" category.
Alternatively, view QHSpeechSynthesizerQueue alternatives based on common mentions on social networks and blogs.
-
EZAudio
An iOS and macOS audio visualization framework built upon Core Audio useful for anyone doing real-time, low-latency audio processing and visualizations. -
PandoraPlayer
🅿️ PandoraPlayer is a lightweight music player for iOS, based on AudioKit and completely written in Swift. -
AudioPlayer
AudioPlayer is syntax and feature sugar over AVPlayer. It plays your audio files (local & remote). -
IQAudioRecorderController
A drop-in universal library allows to record audio within the app with a nice User Interface. -
TheAmazingAudioEngine2
The Amazing Audio Engine is a sophisticated framework for iOS audio applications, built so you don't have to.
CodeRabbit: AI Code Reviews for Developers

* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of QHSpeechSynthesizerQueue or a related project?
README
QHSpeechSynthesizerQueue
Queue management system for AVSpeechSynthesizer
Installation
Cocoapods
Add this to your Podfile:
pod 'QHSpeechSynthesizerQueue'
Run a pod install
and import the header where you need it:
#import <QHSpeechSynthesizerQueue.h>
Manually
Drop QHSpeechSynthesizerQueue.h and QHSpeechSynthesizerQueue.m in your project, then
#import "QHSpeechSynthesizerQueue.h"
Usage
Initialization
QHSpeechSynthesizerQueue *synthesizerQueue = [[QHSpeechSynthesizerQueue alloc] init];
Adding messages to the queue
Add a message at the end of the queue
[synthesizerQueue readLast:@"This message will be added to the end of the queue"
withLanguage:@"en_US"
andRate:@"0.2"];
Insert a message to be read immediatly after the current message being read
[synthesizerQueue readNext:@"This message will be read next"
withLanguage:@"en_US"
andRate:@"0.2"
andClearQueue:NO];
If you set andClearQueue:
to YES
, the queue will be cleared and this will be the last message to be read.
Interrupt the current message and read this one immediately
[synthesizerQueue readImmediately:@"This message will be read next"
withLanguage:@"en_US"
andRate:@"0.2"
andClearQueue:NO];
If you set andClearQueue:
to YES
, the queue will be cleared and this will be the last message to be read.
Playback actions
Stop
Stop the queue's playback and clear the queue immediately.
[synthesizerQueue stop];
Stop after current
Stop the queue's playback and clear the queue. If something is currently being read, it will stop afterwards.
[synthesizerQueue stopAfterCurrent];
Pause
Pause the queue's playback immediately.
[synthesizerQueue pause];
Pause after current
Pause the queue's playback. If something is currently being read, it will pause afterwards.
[synthesizerQueue pauseAfterCurrent];
Resume
Resume the queue's playback.
[synthesizerQueue resume];
Clear queue
Clear the queue. If something is being read, it will not be interupted and future added messages will be read if not paused/stopped.
[synthesizerQueue clearQueue];
Properties
BOOL duckOthers
Set this to YES to duck all the device's audio sessions when a string is being read. Defaults to YES.
synthesizerQueue.duckOthers = YES;
NSTimeInterval preDelay
The delay before reading a message. Default is 0.0
synthesizerQueue.preDelay = 1.0;
NSTimeInterval postDelay
The delay after reading a message. Default is 0.0
synthesizerQueue.postDelay = 1.0;
Delegate
You can set a QHSpeechSynthesizerQueueDelegate
to be notified of playback events.
@protocol QHSpeechSynthesizerQueueDelegate <NSObject>
@optional
- (void)speechSynthesizerQueueDidStartTalking:(QHSpeechSynthesizerQueue *)queue;
- (void)speechSynthesizerQueueDidFinishTalking:(QHSpeechSynthesizerQueue *)queue;
- (void)speechSynthesizerQueueDidPauseTalking:(QHSpeechSynthesizerQueue *)queue;
- (void)speechSynthesizerQueueDidContinueTalking:(QHSpeechSynthesizerQueue *)queue;
- (void)speechSynthesizerQueueDidCancelTalking:(QHSpeechSynthesizerQueue *)queue;
- (void)speechSynthesizerQueueWillStartTalking:(QHSpeechSynthesizerQueue *)queue;
@end