文件转语音,audio成分的品质

  • 将文字增多到语音, 就是用语音播发一段文字
  1. AVSpeechSynthesizer

在iOS中大家想把公文调换来语音使用的AVFoundation框架中的AVSpeechSynthesizer。
例如我们要把“你好”读出来代码如下:

一、标签属性

autoplay:自动播放
controls:显示控件
loop:循环播放
preload:音频在页面加载时进行加载
src:音频链接

功能

AVSpeechSynthesizer * synthesizer = [[AVSpeechSynthesizer alloc] init];
AVSpeechUtterance * utterance = [[AVSpeechUtterance alloc] initWithString:@"你好"];
[synthesizer speakUtterance:utterance];

二、JavaScript方法

1、canPlayType():检查评定浏览器是或不是支持音频类型,再次来到值

'probable':浏览器最可能支持该类型
'maybe':可能支持
'':不支持

2、load():重新加载音频,用于转移src之后采取,无参数,无重回值

3、play():播放音频,无参数,再次来到二个promise

4、pause():暂停音频,无参数,无再次来到值

  • delegate : 代理, 重借使对语音播放状态的监听

将文字增加到语音, 就是用语音播放一段文字
属性

运营程序会活动读出“你好”。
这里的AVSpeechSynthesizer这么些是合成器

三、JavaScript只读属性

1、buffered

audio.buffered.end(0):获取已缓冲的秒数
audio.buffered.length:获取缓冲范围
audio.buffered.start(index):获取某个已缓冲返回的开始位置
audio.buffered.end(index):获取某个已缓冲范围的结束位置

2、currentSrc:重临当前节奏的U索罗德L
3、currentTime:再次来到当前节奏的未来时光

4、ended:音频是还是不是终止
5、duration:重回音频时间长度,以秒计
6、networkState:再次回到音频的互连网状态

0:尚未初始化
1:已经选取资源,但未使用网络
2:正在下载数据
3:未找到资源

7、paused:是不是处于中断状态

8、played

audio.played.length:已播放范围数量
audio.played.start(index):获取某个已播范围的开始位置
audio.played.end(index):获取某个已播范围的结束位置

9、readyState:音频当前气象

0:没有关于音频或视频是否就绪的信息
1:关于音频或视频就绪的元数据
2:关于当前播放位置的数据是可用的,但没有足够的数据来播放下一帧
3:当前及至少下一帧的数据是可用的
4:可用数据足以开始播放

10、seekable:重临可寻址的时间限定

seekable.length:可寻址范围数量
seekable.start(index):可寻址范围的开始位置
seekable.end(index):可寻址范围的结束位置

11、seeking:客商是不是在寻址

delegate : 代理, 重借使对语音播发状态的监听
@protocol AVSpeechSynthesizerDelegate <NSObject>
// 代理方法
@optional
// 早先广播 语音单元

AVSpeechSynthesizer

AVSpeechSynthesizer有以下的属性:
speaking:是还是不是在谈话,只读属性
paused:是还是不是业已终止说话,只读属性;
- (BOOL)stopSpeakingAtBoundary:(AVSpeechBoundary)boundary;:甘休说话并且化解队列;
- (BOOL)pauseSpeakingAtBoundary:(AVSpeechBoundary)boundary;:暂停说话;
- (BOOL)continueSpeaking;:继续说道;
NSArray<AVAudioSessionChannelDescription *> *outputChannels:输出频道,iOS10参加,暗许是绝非的相当于不设置就在系统的声道;
delegate - AVSpeechSynthesizerDelegate:重要的质量:
在这之中富含以下代理:

//  开始
- (void)speechSynthesizer:(AVSpeechSynthesizer *)synthesizer didStartSpeechUtterance:(AVSpeechUtterance *)utterance;
// 完成
- (void)speechSynthesizer:(AVSpeechSynthesizer *)synthesizer didFinishSpeechUtterance:(AVSpeechUtterance *)utterance;
// 暂停
- (void)speechSynthesizer:(AVSpeechSynthesizer *)synthesizer didPauseSpeechUtterance:(AVSpeechUtterance *)utterance;
// 继续
- (void)speechSynthesizer:(AVSpeechSynthesizer *)synthesizer didContinueSpeechUtterance:(AVSpeechUtterance *)utterance;
// 取消
- (void)speechSynthesizer:(AVSpeechSynthesizer *)synthesizer didCancelSpeechUtterance:(AVSpeechUtterance *)utterance;
// 将要读到的位置
- (void)speechSynthesizer:(AVSpeechSynthesizer *)synthesizer willSpeakRangeOfSpeechString:(NSRange)characterRange utterance:(AVSpeechUtterance *)utterance;

四、 JavaScript可读写的属性

1、autoplay:是或不是自动播放,默感到false

audio.autoplay = false;
audio.autoplay = ture;

2、constrols:是不是出示控件,暗中同意为false

3、currentTime:音频当前播发地点,以秒计

4、defaultMuted:最初是不是静音,默以为false

5、muted:是不是静音,默以为false

6、defaultPlaybackRate:暗许播放速度

1:正常速度
0.5:半速
2:倍速
-1:向后正常速度
-0.5:向后半速

7、playbackRate:播放速度

1:正常速度
0.5:半速
2:倍速
-1:向后正常速度
-0.5:向后半速

8、loop:是或不是循环播放,暗中同意为false

9、preload:是或不是在页面加载后立马加载

auto:一旦页面加载,则开始加载音频或视频
metadata:当页面加载后仅加载音频或视频的元数据
none:页面加载后不加载音频或视频

10、src:地址源

11、volume:音量,范围0-1

@protocol AVSpeechSynthesizerDelegate <NSObject>// 代理方法@optional// 开始播放 语音单元- speechSynthesizer:(AVSpeechSynthesizer *)synthesizer didStartSpeechUtterance:(AVSpeechUtterance *)utterance;// 完成播放 语音单元- speechSynthesizer:(AVSpeechSynthesizer *)synthesizer didFinishSpeechUtterance:(AVSpeechUtterance *)utterance;// 暂停播放 语音单元- speechSynthesizer:(AVSpeechSynthesizer *)synthesizer didPauseSpeechUtterance:(AVSpeechUtterance *)utterance;// 继续播放 语音单元- speechSynthesizer:(AVSpeechSynthesizer *)synthesizer didContinueSpeechUtterance:(AVSpeechUtterance *)utterance;// 取消播放 语音单元- speechSynthesizer:(AVSpeechSynthesizer *)synthesizer didCancelSpeechUtterance:(AVSpeechUtterance *)utterance;// 这里 指的是 又来监听 播放 字符范围- speechSynthesizer:(AVSpeechSynthesizer *)synthesizer willSpeakRangeOfSpeechString:characterRange utterance:(AVSpeechUtterance *)utterance;@end
  • (void)speechSynthesizer:(AVSpeechSynthesizer *)synthesizer didStartSpeechUtterance:(AVSpeechUtterance *)utterance;
    // 实现播放 语音单元
  • (void)speechSynthesizer:(AVSpeechSynthesizer *)synthesizer didFinishSpeechUtterance:(AVSpeechUtterance *)utterance;
    // 暂停止播放放 语音单元
  • (void)speechSynthesizer:(AVSpeechSynthesizer *)synthesizer didPauseSpeechUtterance:(AVSpeechUtterance *)utterance;
    // 继续播放 语音单元
  • (void)speechSynthesizer:(AVSpeechSynthesizer *)synthesizer didContinueSpeechUtterance:(AVSpeechUtterance *)utterance;
    // 撤销播放 语音单元
  • (void)speechSynthesizer:(AVSpeechSynthesizer *)synthesizer didCancelSpeechUtterance:(AVSpeechUtterance *)utterance;
    // 这里 指的是 又来监听 播放 字符范围
  • (void)speechSynthesizer:(AVSpeechSynthesizer *)synthesizer willSpeakRangeOfSpeechString:(NSRange)characterRange utterance:(AVSpeechUtterance *)utterance;
    @end
    speaking: 只读属性, 用来推断当前是还是不是处在播放状态
    paused: 只读属性, 用来决断当前是或不是处于中断状态
    方法

AVSpeechUtterance

AVSpeechUtterance这里一定于壹个人的声带。
大家看下AVSpeechUtterance里面包车型客车特性。
voice:表示语言的花色,大家得以用AVSpeechSynthesisVoice的speechVoices来回到“近些日子”帮助的的语言列表。
rate:播放语音的速率,约等于言语的进程哈。在那之中有

AVF_EXPORT const float AVSpeechUtteranceMinimumSpeechRate NS_AVAILABLE_IOS(7_0);  // 最小的说话速率(0.0)
AVF_EXPORT const float AVSpeechUtteranceMaximumSpeechRate NS_AVAILABLE_IOS(7_0);  // 最大的说话速率(1.0)
AVF_EXPORT const float AVSpeechUtteranceDefaultSpeechRate NS_AVAILABLE_IOS(7_0);  // 默认的说话速率(0.5)

pitchMultiplier:那一个性子是象征声音的声调,他一般在[0.5 - 2],暗许值是1
volume:是声音的尺寸,也便是高低暗许是1
postUtteranceDelaypreUtteranceDelay:这么些个性表示播放五个语音是,之间的中断。post代表播放下一句的间歇时间,pre播音当下语句前的中止时间。

下边是本身打字与印刷的扶助的声息列表:

for (AVSpeechSynthesisVoice *voice in [AVSpeechSynthesisVoice speechVoices]) {
        NSLog(@"%@", voice.language);
    }

2017-01-15 16:28:59.969489 NSSpeechSythesizer[1204:766847] ar-SA  // 沙特阿拉伯 
			

本文由星彩网app下载发布于计算机编程,转载请注明出处:文件转语音,audio成分的品质

TAG标签: 星彩网app下载
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。