Showing
27 changed files
with
67 additions
and
23 deletions
TalkTalkSpeak.apk
0 → 100644
No preview for this file type
No preview for this file type
talktalkspeak2/app/release/app-release.aab
0 → 100644
No preview for this file type
talktalkspeak2/app/release/output.json
0 → 100644
1 | +[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":1,"versionName":"1.0","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release","dirName":""},"path":"app-release.apk","properties":{}}] | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
35.4 KB
... | @@ -42,6 +42,8 @@ public class MainActivity extends AppCompatActivity implements TextToSpeech.OnIn | ... | @@ -42,6 +42,8 @@ public class MainActivity extends AppCompatActivity implements TextToSpeech.OnIn |
42 | ArrayAdapter<String> arrayAdapter; | 42 | ArrayAdapter<String> arrayAdapter; |
43 | public AudioManager audioManager; | 43 | public AudioManager audioManager; |
44 | private BluetoothAdapter bluetoothAdapter; | 44 | private BluetoothAdapter bluetoothAdapter; |
45 | + | ||
46 | + // 연결된 블루투스 장치 표시 | ||
45 | BroadcastReceiver bluetoothReceiver = new BroadcastReceiver() { | 47 | BroadcastReceiver bluetoothReceiver = new BroadcastReceiver() { |
46 | public void onReceive(Context context, Intent intent) { | 48 | public void onReceive(Context context, Intent intent) { |
47 | String action = intent.getAction(); | 49 | String action = intent.getAction(); |
... | @@ -66,13 +68,17 @@ public class MainActivity extends AppCompatActivity implements TextToSpeech.OnIn | ... | @@ -66,13 +68,17 @@ public class MainActivity extends AppCompatActivity implements TextToSpeech.OnIn |
66 | ArrayList<String> engineList; | 68 | ArrayList<String> engineList; |
67 | ArrayList<String> engineSpinnerList; | 69 | ArrayList<String> engineSpinnerList; |
68 | 70 | ||
71 | + private SmsReceiver smsReceiver; | ||
72 | + | ||
69 | 73 | ||
70 | private int isTTSReady = -2; | 74 | private int isTTSReady = -2; |
71 | private BroadcastReceiver kakaoReceiver; | 75 | private BroadcastReceiver kakaoReceiver; |
72 | long now = System.currentTimeMillis(); | 76 | long now = System.currentTimeMillis(); |
73 | public double speed = 1.0d; | 77 | public double speed = 1.0d; |
78 | + public double tone = 1.0f; | ||
74 | private Spinner spinner; | 79 | private Spinner spinner; |
75 | private Spinner spinner2; | 80 | private Spinner spinner2; |
81 | + private Spinner spinner3; | ||
76 | public TextToSpeech tts; | 82 | public TextToSpeech tts; |
77 | public String ttsengine; | 83 | public String ttsengine; |
78 | private SeekBar volumebar; | 84 | private SeekBar volumebar; |
... | @@ -96,7 +102,8 @@ public class MainActivity extends AppCompatActivity implements TextToSpeech.OnIn | ... | @@ -96,7 +102,8 @@ public class MainActivity extends AppCompatActivity implements TextToSpeech.OnIn |
96 | setContentView((int) R.layout.activity_main); | 102 | setContentView((int) R.layout.activity_main); |
97 | this.tts = new TextToSpeech(this, this, this.ttsengine); | 103 | this.tts = new TextToSpeech(this, this, this.ttsengine); |
98 | 104 | ||
99 | - // this.editText = (TextView) findViewById(R.id.SMSText); | 105 | + this.smsReceiver = new SmsReceiver(); |
106 | + | ||
100 | this.deviceview = (TextView) findViewById(R.id.textView32); | 107 | this.deviceview = (TextView) findViewById(R.id.textView32); |
101 | this.button1 = (Button) findViewById(R.id.button1); | 108 | this.button1 = (Button) findViewById(R.id.button1); |
102 | this.button2 = (Button) findViewById(R.id.button2); | 109 | this.button2 = (Button) findViewById(R.id.button2); |
... | @@ -104,7 +111,10 @@ public class MainActivity extends AppCompatActivity implements TextToSpeech.OnIn | ... | @@ -104,7 +111,10 @@ public class MainActivity extends AppCompatActivity implements TextToSpeech.OnIn |
104 | this.button4 = (Button) findViewById(R.id.button4); | 111 | this.button4 = (Button) findViewById(R.id.button4); |
105 | this.button5 = (Button) findViewById(R.id.button5); | 112 | this.button5 = (Button) findViewById(R.id.button5); |
106 | this.spinner = (Spinner) findViewById(R.id.spinner); | 113 | this.spinner = (Spinner) findViewById(R.id.spinner); |
114 | + spinner.setSelection(2); | ||
107 | this.spinner2 = (Spinner) findViewById(R.id.spinner2); | 115 | this.spinner2 = (Spinner) findViewById(R.id.spinner2); |
116 | + this.spinner3 = (Spinner) findViewById(R.id.spinner3); | ||
117 | + spinner3.setSelection(2); | ||
108 | this.volumebar = (SeekBar) findViewById(R.id.volumeBar); | 118 | this.volumebar = (SeekBar) findViewById(R.id.volumeBar); |
109 | this.audioManager = (AudioManager) getSystemService("audio"); | 119 | this.audioManager = (AudioManager) getSystemService("audio"); |
110 | this.bluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); | 120 | this.bluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); |
... | @@ -194,6 +204,28 @@ public class MainActivity extends AppCompatActivity implements TextToSpeech.OnIn | ... | @@ -194,6 +204,28 @@ public class MainActivity extends AppCompatActivity implements TextToSpeech.OnIn |
194 | } | 204 | } |
195 | }); | 205 | }); |
196 | 206 | ||
207 | + this.spinner3.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { | ||
208 | + public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { | ||
209 | + int selectedItemPosition = parent.getSelectedItemPosition(); | ||
210 | + if (selectedItemPosition == 0) { | ||
211 | + double unused = MainActivity.this.tone = 0.7f; | ||
212 | + } else if (selectedItemPosition == 1) { | ||
213 | + double unused2 = MainActivity.this.tone = 0.85f; | ||
214 | + } else if (selectedItemPosition == 2) { | ||
215 | + double unused2 = MainActivity.this.tone = 1.0f; | ||
216 | + } else if (selectedItemPosition == 3) { | ||
217 | + double unused3 = MainActivity.this.tone = 1.15f; | ||
218 | + } else if (selectedItemPosition == 4) { | ||
219 | + double unused4 = MainActivity.this.tone = 1.3f; | ||
220 | + } | ||
221 | + | ||
222 | + Log.d("spinner3", "tone : " + MainActivity.this.tone); | ||
223 | + } | ||
224 | + | ||
225 | + public void onNothingSelected(AdapterView<?> adapterView) { | ||
226 | + } | ||
227 | + }); | ||
228 | + | ||
197 | this.bluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); | 229 | this.bluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); |
198 | BluetoothAdapter bluetoothAdapter2 = this.bluetoothAdapter; | 230 | BluetoothAdapter bluetoothAdapter2 = this.bluetoothAdapter; |
199 | if (bluetoothAdapter2 != null) { | 231 | if (bluetoothAdapter2 != null) { |
... | @@ -220,20 +252,12 @@ public class MainActivity extends AppCompatActivity implements TextToSpeech.OnIn | ... | @@ -220,20 +252,12 @@ public class MainActivity extends AppCompatActivity implements TextToSpeech.OnIn |
220 | String sender = intent.getStringExtra("sender"); | 252 | String sender = intent.getStringExtra("sender"); |
221 | String contents = intent.getStringExtra("contents"); | 253 | String contents = intent.getStringExtra("contents"); |
222 | 254 | ||
223 | - | ||
224 | - if (sender == null || contents == null) { | ||
225 | - // this.editText.setText((CharSequence) null); | ||
226 | - } | ||
227 | - else { | ||
228 | - // TextView textView = this.editText; | ||
229 | - // textView.setText(sender + 10 + contents); | ||
230 | - moveTaskToBack(true); | ||
231 | - } | ||
232 | - | ||
233 | if (!this.button1.getBackground().getConstantState().equals(getResources().getDrawable(R.drawable.stop).getConstantState())) { | 255 | if (!this.button1.getBackground().getConstantState().equals(getResources().getDrawable(R.drawable.stop).getConstantState())) { |
234 | return; | 256 | return; |
235 | } | 257 | } |
236 | - TextToSpeech(sender + contents); | 258 | + else { |
259 | + TextToSpeech(sender + " " + contents); | ||
260 | + } | ||
237 | } | 261 | } |
238 | 262 | ||
239 | 263 | ||
... | @@ -355,10 +379,10 @@ public class MainActivity extends AppCompatActivity implements TextToSpeech.OnIn | ... | @@ -355,10 +379,10 @@ public class MainActivity extends AppCompatActivity implements TextToSpeech.OnIn |
355 | setSeekBar(); | 379 | setSeekBar(); |
356 | } | 380 | } |
357 | 381 | ||
358 | - | 382 | + //음성출력 |
359 | public void TextToSpeech(String str) { | 383 | public void TextToSpeech(String str) { |
360 | if (this.isTTSReady == 0) { | 384 | if (this.isTTSReady == 0) { |
361 | - this.tts.setPitch(1.0f); | 385 | + this.tts.setPitch((float) this.tone); |
362 | this.tts.setSpeechRate((float) this.speed); | 386 | this.tts.setSpeechRate((float) this.speed); |
363 | if (Build.VERSION.SDK_INT >= 21) { | 387 | if (Build.VERSION.SDK_INT >= 21) { |
364 | this.tts.addEarcon("[alarm]", BuildConfig.APPLICATION_ID, R.raw.alram); | 388 | this.tts.addEarcon("[alarm]", BuildConfig.APPLICATION_ID, R.raw.alram); |
... | @@ -372,7 +396,9 @@ public class MainActivity extends AppCompatActivity implements TextToSpeech.OnIn | ... | @@ -372,7 +396,9 @@ public class MainActivity extends AppCompatActivity implements TextToSpeech.OnIn |
372 | } | 396 | } |
373 | HashMap<String, String> map = new HashMap<>(); | 397 | HashMap<String, String> map = new HashMap<>(); |
374 | map.put("utteranceId", "UniqueID"); | 398 | map.put("utteranceId", "UniqueID"); |
399 | + | ||
375 | this.tts.speak(str, 1, map); | 400 | this.tts.speak(str, 1, map); |
401 | + | ||
376 | } | 402 | } |
377 | } | 403 | } |
378 | 404 | ... | ... |
... | @@ -45,6 +45,7 @@ public class SmsReceiver extends BroadcastReceiver { | ... | @@ -45,6 +45,7 @@ public class SmsReceiver extends BroadcastReceiver { |
45 | intent.putExtra("class", "SMS"); | 45 | intent.putExtra("class", "SMS"); |
46 | Log.d("SMSToSpeech", "Sender :" + sender); | 46 | Log.d("SMSToSpeech", "Sender :" + sender); |
47 | Log.d("SMSToSpeech", "contents : " + contents); | 47 | Log.d("SMSToSpeech", "contents : " + contents); |
48 | + Log.d("SMSToSpeech", "receivedDate : " + receivedDate); | ||
48 | context.startActivity(intent); | 49 | context.startActivity(intent); |
49 | } | 50 | } |
50 | 51 | ... | ... |
... | @@ -116,10 +116,15 @@ | ... | @@ -116,10 +116,15 @@ |
116 | <TextView android:textSize="20sp" android:textStyle="bold" android:textColor="@android:color/black" android:gravity="left|center_vertical|center_horizontal|center" android:id="@+id/textView40" android:background="#FFFFFF" android:paddingLeft="10dp" android:layout_width="match_parent" android:layout_height="60dp" android:text="볼륨"/> | 116 | <TextView android:textSize="20sp" android:textStyle="bold" android:textColor="@android:color/black" android:gravity="left|center_vertical|center_horizontal|center" android:id="@+id/textView40" android:background="#FFFFFF" android:paddingLeft="10dp" android:layout_width="match_parent" android:layout_height="60dp" android:text="볼륨"/> |
117 | <SeekBar android:layout_gravity="right|center_vertical|center_horizontal|center" android:id="@+id/volumeBar" android:layout_width="300dp" android:layout_height="60dp"/> | 117 | <SeekBar android:layout_gravity="right|center_vertical|center_horizontal|center" android:id="@+id/volumeBar" android:layout_width="300dp" android:layout_height="60dp"/> |
118 | </FrameLayout> | 118 | </FrameLayout> |
119 | + | ||
119 | <FrameLayout android:layout_width="match_parent" android:layout_height="match_parent"> | 120 | <FrameLayout android:layout_width="match_parent" android:layout_height="match_parent"> |
120 | <TextView android:textSize="20sp" android:textStyle="bold" android:textColor="@android:color/black" android:gravity="left|center_vertical|center_horizontal|center" android:id="@+id/textView41" android:background="#FFFFFF" android:paddingLeft="10dp" android:layout_width="match_parent" android:layout_height="60dp" android:text="읽기 속도"/> | 121 | <TextView android:textSize="20sp" android:textStyle="bold" android:textColor="@android:color/black" android:gravity="left|center_vertical|center_horizontal|center" android:id="@+id/textView41" android:background="#FFFFFF" android:paddingLeft="10dp" android:layout_width="match_parent" android:layout_height="60dp" android:text="읽기 속도"/> |
121 | <Spinner android:entries="@array/읽기속도" android:layout_gravity="right|center_vertical|center_horizontal|center" android:id="@+id/spinner" android:layout_width="200dp" android:layout_height="match_parent"/> | 122 | <Spinner android:entries="@array/읽기속도" android:layout_gravity="right|center_vertical|center_horizontal|center" android:id="@+id/spinner" android:layout_width="200dp" android:layout_height="match_parent"/> |
122 | </FrameLayout> | 123 | </FrameLayout> |
124 | + <FrameLayout android:layout_width="match_parent" android:layout_height="match_parent"> | ||
125 | + <TextView android:textSize="20sp" android:textStyle="bold" android:textColor="@android:color/black" android:gravity="left|center_vertical|center_horizontal|center" android:id="@+id/textView42" android:background="#FFFFFF" android:paddingLeft="10dp" android:layout_width="match_parent" android:layout_height="60dp" android:text="톤 설정"/> | ||
126 | + <Spinner android:entries="@array/톤" android:layout_gravity="right|center_vertical|center_horizontal|center" android:id="@+id/spinner3" android:layout_width="200dp" android:layout_height="match_parent"/> | ||
127 | + </FrameLayout> | ||
123 | 128 | ||
124 | <TextView | 129 | <TextView |
125 | android:id="@+id/textView5" | 130 | android:id="@+id/textView5" | ... | ... |
1 | <?xml version="1.0" encoding="utf-8"?> | 1 | <?xml version="1.0" encoding="utf-8"?> |
2 | <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> | 2 | <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> |
3 | - <background android:drawable="@drawable/ic_launcher_background" /> | 3 | + <background android:drawable="@color/ic_launcher_background"/> |
4 | - <foreground android:drawable="@drawable/ic_launcher_foreground" /> | 4 | + <foreground android:drawable="@mipmap/ic_launcher_foreground"/> |
5 | </adaptive-icon> | 5 | </adaptive-icon> |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
1 | <?xml version="1.0" encoding="utf-8"?> | 1 | <?xml version="1.0" encoding="utf-8"?> |
2 | <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> | 2 | <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> |
3 | - <background android:drawable="@drawable/ic_launcher_background" /> | 3 | + <background android:drawable="@color/ic_launcher_background"/> |
4 | - <foreground android:drawable="@drawable/ic_launcher_foreground" /> | 4 | + <foreground android:drawable="@mipmap/ic_launcher_foreground"/> |
5 | </adaptive-icon> | 5 | </adaptive-icon> |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
12.4 KB
6.59 KB
18.6 KB
38.9 KB
1 | <?xml version="1.0" encoding="utf-8"?> | 1 | <?xml version="1.0" encoding="utf-8"?> |
2 | <resources> | 2 | <resources> |
3 | <array name="읽기속도"> | 3 | <array name="읽기속도"> |
4 | - <item>느림(0.7배속)</item> | 4 | + <item>느림(0.7배속)</item> |
5 | - <item>보통(1배속)</item> | 5 | + <item>보통(1배속)</item> |
6 | - <item>약간빠름(1.2배속)</item> | 6 | + <item>약간빠름(1.2배속)</item> |
7 | - <item>좀더빠름(1.5배속)</item> | 7 | + <item>좀더빠름(1.5배속)</item> |
8 | - <item>매우빠름(2배속)</item> | 8 | + <item>매우빠름(2배속)</item> |
9 | +</array> | ||
10 | + <array name="톤"> | ||
11 | + <item>매우낮음(0.7)</item> | ||
12 | + <item>낮음(0.85)</item> | ||
13 | + <item>보통(1)</item> | ||
14 | + <item>약간높음(1.15)</item> | ||
15 | + <item>좀더높음(1.3)</item> | ||
9 | </array> | 16 | </array> |
10 | </resources> | 17 | </resources> |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
-
Please register or login to post a comment