@capacitor-community/text-to-speech 1.1.1 → 1.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CapacitorCommunityTextToSpeech.podspec +17 -17
- package/LICENSE +21 -21
- package/README.md +102 -102
- package/android/build.gradle +58 -58
- package/android/src/main/AndroidManifest.xml +3 -3
- package/android/src/main/java/com/getcapacitor/community/tts/TextToSpeech.java +162 -162
- package/android/src/main/java/com/getcapacitor/community/tts/TextToSpeechPlugin.java +130 -130
- package/dist/docs.json +10 -10
- package/dist/esm/definitions.d.ts +112 -112
- package/dist/esm/definitions.js +1 -1
- package/dist/esm/definitions.js.map +1 -1
- package/dist/esm/index.d.ts +4 -4
- package/dist/esm/index.js +10 -10
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/web.d.ts +25 -25
- package/dist/esm/web.js +88 -88
- package/dist/esm/web.js.map +1 -1
- package/dist/plugin.cjs.js +88 -88
- package/dist/plugin.cjs.js.map +1 -1
- package/dist/plugin.js +88 -88
- package/dist/plugin.js.map +1 -1
- package/ios/Plugin/Info.plist +24 -24
- package/ios/Plugin/TextToSpeech.swift +81 -81
- package/ios/Plugin/TextToSpeechPlugin.h +10 -10
- package/ios/Plugin/TextToSpeechPlugin.m +13 -13
- package/ios/Plugin/TextToSpeechPlugin.swift +64 -64
- package/package.json +81 -80
- package/CHANGELOG.md +0 -83
|
@@ -1,81 +1,81 @@
|
|
|
1
|
-
import AVFoundation
|
|
2
|
-
import Capacitor
|
|
3
|
-
|
|
4
|
-
@objc public class TextToSpeech: NSObject, AVSpeechSynthesizerDelegate {
|
|
5
|
-
let synthesizer = AVSpeechSynthesizer()
|
|
6
|
-
var calls: [CAPPluginCall] = []
|
|
7
|
-
|
|
8
|
-
override init() {
|
|
9
|
-
super.init()
|
|
10
|
-
self.synthesizer.delegate = self
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
public func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didCancel utterance: AVSpeechUtterance) {
|
|
14
|
-
self.resolveCurrentCall()
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
public func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didFinish utterance: AVSpeechUtterance) {
|
|
18
|
-
self.resolveCurrentCall()
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
@objc public func speak(_ text: String, _ lang: String, _ rate: Float, _ pitch: Float, _ category: String, _ volume: Float, _ call: CAPPluginCall) throws {
|
|
22
|
-
self.synthesizer.stopSpeaking(at: .immediate)
|
|
23
|
-
|
|
24
|
-
var avAudioSessionCategory = AVAudioSession.Category.ambient
|
|
25
|
-
if category != "ambient" {
|
|
26
|
-
avAudioSessionCategory = AVAudioSession.Category.playback
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
try AVAudioSession.sharedInstance().setCategory(avAudioSessionCategory, mode: .default, options: AVAudioSession.CategoryOptions.duckOthers)
|
|
30
|
-
try AVAudioSession.sharedInstance().setActive(true)
|
|
31
|
-
|
|
32
|
-
self.calls.append(call)
|
|
33
|
-
|
|
34
|
-
let utterance = AVSpeechUtterance(string: text)
|
|
35
|
-
utterance.voice = AVSpeechSynthesisVoice(language: lang)
|
|
36
|
-
utterance.rate = adjustRate(rate)
|
|
37
|
-
utterance.pitchMultiplier = pitch
|
|
38
|
-
utterance.volume = volume
|
|
39
|
-
synthesizer.speak(utterance)
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
@objc public func stop() {
|
|
43
|
-
synthesizer.stopSpeaking(at: .immediate)
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
@objc public func getSupportedLanguages() -> [String] {
|
|
47
|
-
return Array(AVSpeechSynthesisVoice.speechVoices().map {
|
|
48
|
-
return $0.language
|
|
49
|
-
})
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
@objc public func isLanguageSupported(_ lang: String) -> Bool {
|
|
53
|
-
let voice = AVSpeechSynthesisVoice(language: lang)
|
|
54
|
-
return voice != nil
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
// Adjust rate for a closer match to other platform.
|
|
58
|
-
@objc private func adjustRate(_ rate: Float) -> Float {
|
|
59
|
-
let baseRate = AVSpeechUtteranceDefaultSpeechRate
|
|
60
|
-
if rate == 1 {
|
|
61
|
-
return baseRate
|
|
62
|
-
}
|
|
63
|
-
if rate > baseRate {
|
|
64
|
-
return baseRate + (rate * 0.025)
|
|
65
|
-
}
|
|
66
|
-
return rate / 2
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
@objc private func resolveCurrentCall() {
|
|
70
|
-
do {
|
|
71
|
-
try AVAudioSession.sharedInstance().setActive(false)
|
|
72
|
-
} catch {
|
|
73
|
-
CAPLog.print(error.localizedDescription)
|
|
74
|
-
}
|
|
75
|
-
guard let call = calls.first else {
|
|
76
|
-
return
|
|
77
|
-
}
|
|
78
|
-
call.resolve()
|
|
79
|
-
calls.removeFirst()
|
|
80
|
-
}
|
|
81
|
-
}
|
|
1
|
+
import AVFoundation
|
|
2
|
+
import Capacitor
|
|
3
|
+
|
|
4
|
+
@objc public class TextToSpeech: NSObject, AVSpeechSynthesizerDelegate {
|
|
5
|
+
let synthesizer = AVSpeechSynthesizer()
|
|
6
|
+
var calls: [CAPPluginCall] = []
|
|
7
|
+
|
|
8
|
+
override init() {
|
|
9
|
+
super.init()
|
|
10
|
+
self.synthesizer.delegate = self
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
public func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didCancel utterance: AVSpeechUtterance) {
|
|
14
|
+
self.resolveCurrentCall()
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
public func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didFinish utterance: AVSpeechUtterance) {
|
|
18
|
+
self.resolveCurrentCall()
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
@objc public func speak(_ text: String, _ lang: String, _ rate: Float, _ pitch: Float, _ category: String, _ volume: Float, _ call: CAPPluginCall) throws {
|
|
22
|
+
self.synthesizer.stopSpeaking(at: .immediate)
|
|
23
|
+
|
|
24
|
+
var avAudioSessionCategory = AVAudioSession.Category.ambient
|
|
25
|
+
if category != "ambient" {
|
|
26
|
+
avAudioSessionCategory = AVAudioSession.Category.playback
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
try AVAudioSession.sharedInstance().setCategory(avAudioSessionCategory, mode: .default, options: AVAudioSession.CategoryOptions.duckOthers)
|
|
30
|
+
try AVAudioSession.sharedInstance().setActive(true)
|
|
31
|
+
|
|
32
|
+
self.calls.append(call)
|
|
33
|
+
|
|
34
|
+
let utterance = AVSpeechUtterance(string: text)
|
|
35
|
+
utterance.voice = AVSpeechSynthesisVoice(language: lang)
|
|
36
|
+
utterance.rate = adjustRate(rate)
|
|
37
|
+
utterance.pitchMultiplier = pitch
|
|
38
|
+
utterance.volume = volume
|
|
39
|
+
synthesizer.speak(utterance)
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
@objc public func stop() {
|
|
43
|
+
synthesizer.stopSpeaking(at: .immediate)
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
@objc public func getSupportedLanguages() -> [String] {
|
|
47
|
+
return Array(AVSpeechSynthesisVoice.speechVoices().map {
|
|
48
|
+
return $0.language
|
|
49
|
+
})
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
@objc public func isLanguageSupported(_ lang: String) -> Bool {
|
|
53
|
+
let voice = AVSpeechSynthesisVoice(language: lang)
|
|
54
|
+
return voice != nil
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
// Adjust rate for a closer match to other platform.
|
|
58
|
+
@objc private func adjustRate(_ rate: Float) -> Float {
|
|
59
|
+
let baseRate = AVSpeechUtteranceDefaultSpeechRate
|
|
60
|
+
if rate == 1 {
|
|
61
|
+
return baseRate
|
|
62
|
+
}
|
|
63
|
+
if rate > baseRate {
|
|
64
|
+
return baseRate + (rate * 0.025)
|
|
65
|
+
}
|
|
66
|
+
return rate / 2
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
@objc private func resolveCurrentCall() {
|
|
70
|
+
do {
|
|
71
|
+
try AVAudioSession.sharedInstance().setActive(false)
|
|
72
|
+
} catch {
|
|
73
|
+
CAPLog.print(error.localizedDescription)
|
|
74
|
+
}
|
|
75
|
+
guard let call = calls.first else {
|
|
76
|
+
return
|
|
77
|
+
}
|
|
78
|
+
call.resolve()
|
|
79
|
+
calls.removeFirst()
|
|
80
|
+
}
|
|
81
|
+
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
#import <UIKit/UIKit.h>
|
|
2
|
-
|
|
3
|
-
//! Project version number for Plugin.
|
|
4
|
-
FOUNDATION_EXPORT double PluginVersionNumber;
|
|
5
|
-
|
|
6
|
-
//! Project version string for Plugin.
|
|
7
|
-
FOUNDATION_EXPORT const unsigned char PluginVersionString[];
|
|
8
|
-
|
|
9
|
-
// In this header, you should import all the public headers of your framework using statements like #import <Plugin/PublicHeader.h>
|
|
10
|
-
|
|
1
|
+
#import <UIKit/UIKit.h>
|
|
2
|
+
|
|
3
|
+
//! Project version number for Plugin.
|
|
4
|
+
FOUNDATION_EXPORT double PluginVersionNumber;
|
|
5
|
+
|
|
6
|
+
//! Project version string for Plugin.
|
|
7
|
+
FOUNDATION_EXPORT const unsigned char PluginVersionString[];
|
|
8
|
+
|
|
9
|
+
// In this header, you should import all the public headers of your framework using statements like #import <Plugin/PublicHeader.h>
|
|
10
|
+
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
#import <Foundation/Foundation.h>
|
|
2
|
-
#import <Capacitor/Capacitor.h>
|
|
3
|
-
|
|
4
|
-
// Define the plugin using the CAP_PLUGIN Macro, and
|
|
5
|
-
// each method the plugin supports using the CAP_PLUGIN_METHOD macro.
|
|
6
|
-
CAP_PLUGIN(TextToSpeechPlugin, "TextToSpeech",
|
|
7
|
-
CAP_PLUGIN_METHOD(speak, CAPPluginReturnPromise);
|
|
8
|
-
CAP_PLUGIN_METHOD(stop, CAPPluginReturnPromise);
|
|
9
|
-
CAP_PLUGIN_METHOD(openInstall, CAPPluginReturnPromise);
|
|
10
|
-
CAP_PLUGIN_METHOD(getSupportedLanguages, CAPPluginReturnPromise);
|
|
11
|
-
CAP_PLUGIN_METHOD(getSupportedVoices, CAPPluginReturnPromise);
|
|
12
|
-
CAP_PLUGIN_METHOD(isLanguageSupported, CAPPluginReturnPromise);
|
|
13
|
-
)
|
|
1
|
+
#import <Foundation/Foundation.h>
|
|
2
|
+
#import <Capacitor/Capacitor.h>
|
|
3
|
+
|
|
4
|
+
// Define the plugin using the CAP_PLUGIN Macro, and
|
|
5
|
+
// each method the plugin supports using the CAP_PLUGIN_METHOD macro.
|
|
6
|
+
CAP_PLUGIN(TextToSpeechPlugin, "TextToSpeech",
|
|
7
|
+
CAP_PLUGIN_METHOD(speak, CAPPluginReturnPromise);
|
|
8
|
+
CAP_PLUGIN_METHOD(stop, CAPPluginReturnPromise);
|
|
9
|
+
CAP_PLUGIN_METHOD(openInstall, CAPPluginReturnPromise);
|
|
10
|
+
CAP_PLUGIN_METHOD(getSupportedLanguages, CAPPluginReturnPromise);
|
|
11
|
+
CAP_PLUGIN_METHOD(getSupportedVoices, CAPPluginReturnPromise);
|
|
12
|
+
CAP_PLUGIN_METHOD(isLanguageSupported, CAPPluginReturnPromise);
|
|
13
|
+
)
|
|
@@ -1,64 +1,64 @@
|
|
|
1
|
-
import Foundation
|
|
2
|
-
import Capacitor
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Please read the Capacitor iOS Plugin Development Guide
|
|
6
|
-
* here: https://capacitorjs.com/docs/plugins/ios
|
|
7
|
-
*/
|
|
8
|
-
@objc(TextToSpeechPlugin)
|
|
9
|
-
public class TextToSpeechPlugin: CAPPlugin {
|
|
10
|
-
private static let errorUnsupportedLanguage = "This language is not supported."
|
|
11
|
-
|
|
12
|
-
private let implementation = TextToSpeech()
|
|
13
|
-
|
|
14
|
-
@objc public func speak(_ call: CAPPluginCall) {
|
|
15
|
-
let text = call.getString("text") ?? ""
|
|
16
|
-
let lang = call.getString("lang") ?? "en-US"
|
|
17
|
-
let rate = call.getFloat("rate") ?? 1.0
|
|
18
|
-
let pitch = call.getFloat("pitch") ?? 1.0
|
|
19
|
-
let volume = call.getFloat("volume") ?? 1.0
|
|
20
|
-
let category = call.getString("category") ?? "ambient"
|
|
21
|
-
|
|
22
|
-
let isLanguageSupported = implementation.isLanguageSupported(lang)
|
|
23
|
-
guard isLanguageSupported else {
|
|
24
|
-
call.reject(TextToSpeechPlugin.errorUnsupportedLanguage)
|
|
25
|
-
return
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
do {
|
|
29
|
-
try implementation.speak(text, lang, rate, pitch, category, volume, call)
|
|
30
|
-
} catch {
|
|
31
|
-
call.reject(error.localizedDescription)
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
@objc public func stop(_ call: CAPPluginCall) {
|
|
36
|
-
implementation.stop()
|
|
37
|
-
call.resolve()
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
@objc public func openInstall(_ call: CAPPluginCall) {
|
|
41
|
-
call.resolve()
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
@objc func getSupportedLanguages(_ call: CAPPluginCall) {
|
|
45
|
-
let languages = self.implementation.getSupportedLanguages()
|
|
46
|
-
call.resolve([
|
|
47
|
-
"languages": languages
|
|
48
|
-
])
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
@objc func getSupportedVoices(_ call: CAPPluginCall) {
|
|
52
|
-
call.resolve([
|
|
53
|
-
"voices": []
|
|
54
|
-
])
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
@objc func isLanguageSupported(_ call: CAPPluginCall) {
|
|
58
|
-
let lang = call.getString("lang") ?? ""
|
|
59
|
-
let isLanguageSupported = self.implementation.isLanguageSupported(lang)
|
|
60
|
-
call.resolve([
|
|
61
|
-
"supported": isLanguageSupported
|
|
62
|
-
])
|
|
63
|
-
}
|
|
64
|
-
}
|
|
1
|
+
import Foundation
|
|
2
|
+
import Capacitor
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Please read the Capacitor iOS Plugin Development Guide
|
|
6
|
+
* here: https://capacitorjs.com/docs/plugins/ios
|
|
7
|
+
*/
|
|
8
|
+
@objc(TextToSpeechPlugin)
|
|
9
|
+
public class TextToSpeechPlugin: CAPPlugin {
|
|
10
|
+
private static let errorUnsupportedLanguage = "This language is not supported."
|
|
11
|
+
|
|
12
|
+
private let implementation = TextToSpeech()
|
|
13
|
+
|
|
14
|
+
@objc public func speak(_ call: CAPPluginCall) {
|
|
15
|
+
let text = call.getString("text") ?? ""
|
|
16
|
+
let lang = call.getString("lang") ?? "en-US"
|
|
17
|
+
let rate = call.getFloat("rate") ?? 1.0
|
|
18
|
+
let pitch = call.getFloat("pitch") ?? 1.0
|
|
19
|
+
let volume = call.getFloat("volume") ?? 1.0
|
|
20
|
+
let category = call.getString("category") ?? "ambient"
|
|
21
|
+
|
|
22
|
+
let isLanguageSupported = implementation.isLanguageSupported(lang)
|
|
23
|
+
guard isLanguageSupported else {
|
|
24
|
+
call.reject(TextToSpeechPlugin.errorUnsupportedLanguage)
|
|
25
|
+
return
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
do {
|
|
29
|
+
try implementation.speak(text, lang, rate, pitch, category, volume, call)
|
|
30
|
+
} catch {
|
|
31
|
+
call.reject(error.localizedDescription)
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
@objc public func stop(_ call: CAPPluginCall) {
|
|
36
|
+
implementation.stop()
|
|
37
|
+
call.resolve()
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
@objc public func openInstall(_ call: CAPPluginCall) {
|
|
41
|
+
call.resolve()
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
@objc func getSupportedLanguages(_ call: CAPPluginCall) {
|
|
45
|
+
let languages = self.implementation.getSupportedLanguages()
|
|
46
|
+
call.resolve([
|
|
47
|
+
"languages": languages
|
|
48
|
+
])
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
@objc func getSupportedVoices(_ call: CAPPluginCall) {
|
|
52
|
+
call.resolve([
|
|
53
|
+
"voices": []
|
|
54
|
+
])
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
@objc func isLanguageSupported(_ call: CAPPluginCall) {
|
|
58
|
+
let lang = call.getString("lang") ?? ""
|
|
59
|
+
let isLanguageSupported = self.implementation.isLanguageSupported(lang)
|
|
60
|
+
call.resolve([
|
|
61
|
+
"supported": isLanguageSupported
|
|
62
|
+
])
|
|
63
|
+
}
|
|
64
|
+
}
|
package/package.json
CHANGED
|
@@ -1,80 +1,81 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@capacitor-community/text-to-speech",
|
|
3
|
-
"version": "1.1.
|
|
4
|
-
"description": "Capacitor plugin for synthesizing speech from text.",
|
|
5
|
-
"main": "dist/plugin.cjs.js",
|
|
6
|
-
"module": "dist/esm/index.js",
|
|
7
|
-
"types": "dist/esm/index.d.ts",
|
|
8
|
-
"unpkg": "dist/plugin.js",
|
|
9
|
-
"scripts": {
|
|
10
|
-
"verify": "npm run verify:ios && npm run verify:android && npm run verify:web",
|
|
11
|
-
"verify:ios": "cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin && cd ..",
|
|
12
|
-
"verify:android": "cd android && ./gradlew clean build test && cd ..",
|
|
13
|
-
"verify:web": "npm run build",
|
|
14
|
-
"lint": "npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint",
|
|
15
|
-
"fmt": "npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint --
|
|
16
|
-
"eslint": "eslint . --ext ts",
|
|
17
|
-
"prettier": "prettier \"**/*.{css,html,ts,js,java}\"",
|
|
18
|
-
"swiftlint": "node-swiftlint",
|
|
19
|
-
"docgen": "docgen --api TextToSpeechPlugin --output-readme README.md --output-json dist/docs.json",
|
|
20
|
-
"build": "npm run clean && npm run docgen && tsc && rollup -c rollup.config.js",
|
|
21
|
-
"clean": "rimraf ./dist",
|
|
22
|
-
"watch": "tsc --watch",
|
|
23
|
-
"prepublishOnly": "npm run build",
|
|
24
|
-
"release": "standard-version"
|
|
25
|
-
},
|
|
26
|
-
"author": "Robin Genz <mail@robingenz.dev>",
|
|
27
|
-
"license": "MIT",
|
|
28
|
-
"devDependencies": {
|
|
29
|
-
"@capacitor/android": "3.
|
|
30
|
-
"@capacitor/
|
|
31
|
-
"@capacitor/
|
|
32
|
-
"@capacitor/
|
|
33
|
-
"@
|
|
34
|
-
"@ionic/
|
|
35
|
-
"@ionic/
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"prettier
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
"android/
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
"
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
"
|
|
65
|
-
"
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
"
|
|
69
|
-
"
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@capacitor-community/text-to-speech",
|
|
3
|
+
"version": "1.1.2",
|
|
4
|
+
"description": "Capacitor plugin for synthesizing speech from text.",
|
|
5
|
+
"main": "dist/plugin.cjs.js",
|
|
6
|
+
"module": "dist/esm/index.js",
|
|
7
|
+
"types": "dist/esm/index.d.ts",
|
|
8
|
+
"unpkg": "dist/plugin.js",
|
|
9
|
+
"scripts": {
|
|
10
|
+
"verify": "npm run verify:ios && npm run verify:android && npm run verify:web",
|
|
11
|
+
"verify:ios": "cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin && cd ..",
|
|
12
|
+
"verify:android": "cd android && ./gradlew clean build test && cd ..",
|
|
13
|
+
"verify:web": "npm run build",
|
|
14
|
+
"lint": "npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint",
|
|
15
|
+
"fmt": "npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format",
|
|
16
|
+
"eslint": "eslint . --ext ts",
|
|
17
|
+
"prettier": "prettier \"**/*.{css,html,ts,js,java}\"",
|
|
18
|
+
"swiftlint": "node-swiftlint",
|
|
19
|
+
"docgen": "docgen --api TextToSpeechPlugin --output-readme README.md --output-json dist/docs.json",
|
|
20
|
+
"build": "npm run clean && npm run docgen && tsc && rollup -c rollup.config.js",
|
|
21
|
+
"clean": "rimraf ./dist",
|
|
22
|
+
"watch": "tsc --watch",
|
|
23
|
+
"prepublishOnly": "npm run build",
|
|
24
|
+
"release": "standard-version"
|
|
25
|
+
},
|
|
26
|
+
"author": "Robin Genz <mail@robingenz.dev>",
|
|
27
|
+
"license": "MIT",
|
|
28
|
+
"devDependencies": {
|
|
29
|
+
"@capacitor/android": "3.4.0",
|
|
30
|
+
"@capacitor/cli": "3.4.0",
|
|
31
|
+
"@capacitor/core": "3.4.0",
|
|
32
|
+
"@capacitor/docgen": "0.0.18",
|
|
33
|
+
"@capacitor/ios": "3.4.0",
|
|
34
|
+
"@ionic/eslint-config": "0.3.0",
|
|
35
|
+
"@ionic/prettier-config": "1.0.1",
|
|
36
|
+
"@ionic/swiftlint-config": "1.1.2",
|
|
37
|
+
"eslint": "7.11.0",
|
|
38
|
+
"prettier": "2.2.0",
|
|
39
|
+
"prettier-plugin-java": "1.0.0",
|
|
40
|
+
"rimraf": "3.0.2",
|
|
41
|
+
"rollup": "2.32.0",
|
|
42
|
+
"standard-version": "9.1.0",
|
|
43
|
+
"swiftlint": "1.0.1",
|
|
44
|
+
"typescript": "4.0.3"
|
|
45
|
+
},
|
|
46
|
+
"peerDependencies": {
|
|
47
|
+
"@capacitor/core": "^3.0.0"
|
|
48
|
+
},
|
|
49
|
+
"files": [
|
|
50
|
+
"android/src/main/",
|
|
51
|
+
"android/build.gradle",
|
|
52
|
+
"dist/",
|
|
53
|
+
"ios/Plugin/",
|
|
54
|
+
"CapacitorCommunityTextToSpeech.podspec"
|
|
55
|
+
],
|
|
56
|
+
"repository": {
|
|
57
|
+
"type": "git",
|
|
58
|
+
"url": "git+https://github.com/capacitor-community/text-to-speech.git"
|
|
59
|
+
},
|
|
60
|
+
"bugs": {
|
|
61
|
+
"url": "https://github.com/capacitor-community/text-to-speech/issues"
|
|
62
|
+
},
|
|
63
|
+
"keywords": [
|
|
64
|
+
"capacitor",
|
|
65
|
+
"plugin",
|
|
66
|
+
"native"
|
|
67
|
+
],
|
|
68
|
+
"prettier": "@ionic/prettier-config",
|
|
69
|
+
"swiftlint": "@ionic/swiftlint-config",
|
|
70
|
+
"eslintConfig": {
|
|
71
|
+
"extends": "@ionic/eslint-config/recommended"
|
|
72
|
+
},
|
|
73
|
+
"capacitor": {
|
|
74
|
+
"ios": {
|
|
75
|
+
"src": "ios"
|
|
76
|
+
},
|
|
77
|
+
"android": {
|
|
78
|
+
"src": "android"
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
package/CHANGELOG.md
DELETED
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
|
-
|
|
5
|
-
### [1.1.1](https://github.com/capacitor-community/text-to-speech/compare/v1.1.0...v1.1.1) (2021-05-04)
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
### Bug Fixes
|
|
9
|
-
|
|
10
|
-
* **android:** handle IETF BCP 47 language tag string correctly ([#66](https://github.com/capacitor-community/text-to-speech/issues/66)) ([296adcb](https://github.com/capacitor-community/text-to-speech/commit/296adcba96641de60aea7cc74c292f2fdd3f7ada))
|
|
11
|
-
|
|
12
|
-
## [1.1.0](https://github.com/capacitor-community/text-to-speech/compare/v1.0.0...v1.1.0) (2021-03-20)
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
### Features
|
|
16
|
-
|
|
17
|
-
* add `isLanguageSupported` method ([#58](https://github.com/capacitor-community/text-to-speech/issues/58)) ([eb39f93](https://github.com/capacitor-community/text-to-speech/commit/eb39f93e31c0ec008a0058b32464b4f43471b322))
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
### Bug Fixes
|
|
21
|
-
|
|
22
|
-
* **android:** shutdown tts on destroy ([#56](https://github.com/capacitor-community/text-to-speech/issues/56)) ([2b6da17](https://github.com/capacitor-community/text-to-speech/commit/2b6da17f4f73c9d4443a2cdd325a5f918dd04bc8))
|
|
23
|
-
* **ios:** `speak` method resolves immediately on iOS ([#59](https://github.com/capacitor-community/text-to-speech/issues/59)) ([e77e8ba](https://github.com/capacitor-community/text-to-speech/commit/e77e8baf459d197798f16e5034288677d5e41cb1))
|
|
24
|
-
|
|
25
|
-
## [1.0.0](https://github.com/capacitor-community/text-to-speech/compare/v0.2.3...v1.0.0) (2021-03-14)
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
### ⚠ BREAKING CHANGES
|
|
29
|
-
|
|
30
|
-
* `TTSOptions` properties `locale`, `speechRate`, `pitchRate` renamed to `lang`, `rate`, `pitch`.
|
|
31
|
-
* remove `setSpeechRate` and `setPitchRate`
|
|
32
|
-
* Update to Capacitor v3
|
|
33
|
-
|
|
34
|
-
### Features
|
|
35
|
-
|
|
36
|
-
* add Capacitor 3 support ([#47](https://github.com/capacitor-community/text-to-speech/issues/47)) ([912a914](https://github.com/capacitor-community/text-to-speech/commit/912a91455f100aa430d1a108090fb7f8ff2bc8e9))
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
* remove `setSpeechRate` and `setPitchRate` ([#49](https://github.com/capacitor-community/text-to-speech/issues/49)) ([c4bd0a8](https://github.com/capacitor-community/text-to-speech/commit/c4bd0a85197921f23fd43f3d4a9f6bd2d998183a))
|
|
40
|
-
* rename `TTSOptions` properties ([#51](https://github.com/capacitor-community/text-to-speech/issues/51)) ([83c4370](https://github.com/capacitor-community/text-to-speech/commit/83c43708165f5365158eb05eb22e5f69f15b7bef))
|
|
41
|
-
|
|
42
|
-
### [0.2.3](https://github.com/capacitor-community/text-to-speech/compare/v0.2.2...v0.2.3) (2021-03-12)
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
### Bug Fixes
|
|
46
|
-
|
|
47
|
-
* **ios:** pod failed to validate ([#46](https://github.com/capacitor-community/text-to-speech/issues/46)) ([6a83100](https://github.com/capacitor-community/text-to-speech/commit/6a831003d3c29f9fa6a46dc27e20267246b3ec1a))
|
|
48
|
-
|
|
49
|
-
### [0.2.2](https://github.com/capacitor-community/text-to-speech/compare/v0.2.1...v0.2.2) (2021-03-11)
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
### Bug Fixes
|
|
53
|
-
|
|
54
|
-
* **android:** `speechRate` and `pitchRate` are ignored ([#43](https://github.com/capacitor-community/text-to-speech/issues/43)) ([153a500](https://github.com/capacitor-community/text-to-speech/commit/153a500aef2245de61885ce282f7d5111f28b803))
|
|
55
|
-
* **android:** get supported languages ([#29](https://github.com/capacitor-community/text-to-speech/issues/29)) ([bf477aa](https://github.com/capacitor-community/text-to-speech/commit/bf477aab9f713413e8b418d809de26a0482524b0))
|
|
56
|
-
* **android:** get supported voices ([#31](https://github.com/capacitor-community/text-to-speech/issues/31)) ([0870389](https://github.com/capacitor-community/text-to-speech/commit/087038989a6ba77bcce14506b89172046f754ee7))
|
|
57
|
-
* **ios:** not working in background ([#35](https://github.com/capacitor-community/text-to-speech/issues/35)) ([63108ab](https://github.com/capacitor-community/text-to-speech/commit/63108abb6b35ffabb5d04ef9a720267ddad2f33b))
|
|
58
|
-
* **ios:** speech rate adjusted to other platforms ([#36](https://github.com/capacitor-community/text-to-speech/issues/36)) ([d33dceb](https://github.com/capacitor-community/text-to-speech/commit/d33dceb2ed132616a1aaa7b40177ea1d7c6321c3))
|
|
59
|
-
* **web:** stop speaking on a new call ([#44](https://github.com/capacitor-community/text-to-speech/issues/44)) ([6b1b83e](https://github.com/capacitor-community/text-to-speech/commit/6b1b83e28191b1882bc50f2e103f766c4e5182df))
|
|
60
|
-
* different behavior with blank `text` ([#39](https://github.com/capacitor-community/text-to-speech/issues/39)) ([527a51f](https://github.com/capacitor-community/text-to-speech/commit/527a51f7cf6cbc4debec5f239f4479488554d494))
|
|
61
|
-
* publish only necessary files ([#23](https://github.com/capacitor-community/text-to-speech/issues/23)) ([359f2d2](https://github.com/capacitor-community/text-to-speech/commit/359f2d203abff1890369bd10a31668ea202a5ae3))
|
|
62
|
-
|
|
63
|
-
## [0.2.0](https://github.com/capacitor-community/text-to-speech/compare/v0.1.3...v0.2.0) (2020-06-30)
|
|
64
|
-
|
|
65
|
-
### Bug Fixes
|
|
66
|
-
|
|
67
|
-
- Merge pull request #3 from MarnickvdA/master [f84aef3](https://github.com/capacitor-community/text-to-speech/commit/f84aef3f25ebfa402b5b0de7006fe7fda7f2e47b)
|
|
68
|
-
|
|
69
|
-
- Fix for issue #2 'Cant run on iOS'. Changed name of the PodSpec file. Also added JSON parser for the package.json file so you won't have to update the plugin information in two places ;) [dbc97c3](https://github.com/capacitor-community/text-to-speech/commit/dbc97c3e8c44e62b1cff9b3cf3b40d1141c58915)
|
|
70
|
-
|
|
71
|
-
### Features
|
|
72
|
-
|
|
73
|
-
### Docs
|
|
74
|
-
|
|
75
|
-
- docs: update header and fix minor typo to speak method [99861e6](https://github.com/capacitor-community/text-to-speech/commit/99861e6b41609369db978060e398524dd04f4530)
|
|
76
|
-
|
|
77
|
-
- docs: rename `rate` to `speechRate` and `pitch` to `pitchRate` [99861e6](https://github.com/capacitor-community/text-to-speech/commit/99861e6b41609369db978060e398524dd04f4530)
|
|
78
|
-
|
|
79
|
-
### Chores
|
|
80
|
-
|
|
81
|
-
- chore: add changelog [b83f97a](https://github.com/capacitor-community/text-to-speech/commit/b83f97aef2413b174d0cc4b423ab9cf54ab9d4fd)
|
|
82
|
-
- chore(ios): add volume option [eef1b00](https://github.com/capacitor-community/text-to-speech/commit/eef1b00a54c3e1570ed6a52bc83b556d4c9930ea)
|
|
83
|
-
- chore: add homepage property to package [2aad4f4](https://github.com/capacitor-community/text-to-speech/commit/2aad4f43d47fe9d5f776b9ea672f34ac08d81762)
|