5-7 音声の再生 (1)テキストスピーチ A. 手順 音声による英文のスピーチ ・ Android 1.6 以降の実機で可能。 ・ Android 2.3.3 では英語であれば エミュレータで可能。それ以前は実機のみ。 ・機種によっては音声がインストールされていない場合があるので、 Android.

Slides:



Advertisements
Similar presentations
独習JAVA Chapter 6 6.6 クラスの修飾子 6.7 変数の修飾子 結城 隆. 6.6 クラスの修飾 abstract インスタンス化できないクラス。1つまたは複数のサブクラスで 実装してはじめてインスタンス化できる。 final 継承されたくないことを明示する。これ以上機能拡張 / 変更でき.
Advertisements

8-4 Google マップの利用 1.地図を表示 ( エミュレータでも可能 ) Android API キーを取得しておくこと。 【 AndroidManifest.xml 】 ・・・
アンドロイドの GUI 作成なんて怖くな い! In 第 5 回勉強会@徳島 / オープンフォース Android 勉強会 at 2010/07/15(sut) 夜子まま.
プログラミング第5回 1 while ループ 文字列の操作
目次 WindowsPCの場合 iPadの場合 iPhoneの場合 Androidの場合
社会人学習講座 「Javaプログラミング概論」
GridLayout オブジェクト(省略)
創造工学設計I 電子情報工学科4年(前期) 12回目 (09/07/2015) 担当 古山彰一 ac
TVML SDK on UNITY チュートリアル
Copyright by Rich & Giro
4月卒研報告              上藤紳也.
5-4 画像の表示 (1)複数画像の表示 A.手順 (基本は5-2(1)Image View参照) ①画像ファイルをリソースに追加
Android:Service 小山 圭.
AndroidとiPhoneに おける開発比較
創造工学設計I 電子情報工学科4年(前期) 8回目 (04/6/2015) 担当 古山彰一 ac
Applet 岡部 祐典 鈴木 敬幸.
アルゴリズムとデータ構造 2013年6月18日
GPSはじめの第一歩 Android編 2009/03/28 山本 慎也.
5-3 図形の描画 (1)図形を表示する手順 ①実画面に表示するクラスを作成する。
6-2 データベース 1.SQLite SQLを単純化した SQLite を使ってデータベースを操作 表「fruit」
8-2 センサ関係 1.センサの種類 種類センサの内容 TYPE_ACCELEROMETER 加速度センサ TYPE_MAGNETIC_FIELD 地磁気センサ TYPE_PROXIMITY 近接センサ TYPE_TEMPATURE 温度センサ TYPE_LIGHT 照明センサ TYPE_GRAVITY.
JSFによるWebアプリケーション開発 第11回
Iアプリプログラミング その1  鳥居秀徳.
プログラミング基礎I(再) 山元進.
「RnR FixLinks Pro」解説(一般公開用・無償版)
Javaのインタフェース についての補足 2006年5月17日 海谷 治彦.
JAVA.
第2回:Javaの変数と型の宣言 プログラミングII 2007年10月2日.
アルゴリズムとデータ構造 2012年6月14日
JAVA GUIプログラミング 第5回 ボタンとそのイベント処理.
第20章 Flyweight ~同じものを共有して無駄をなくす~
インタフェース プログラミング 第14回 インタフェース プログラミング第14回.
アルゴリズムとデータ構造 2011年6月14日
タブレットのビジネス活用を支援する法人向けファイル共有サービス
4.Eclipseの基本操作 4-1 Eclipseの起動
プログラミング演習3 第2回 GUIの復習.
Unity, C# シーン移動と1人称視点.
オブジェクト指向 プログラミング 第十四回 知能情報学部 新田直也.
第9章 例外処理,パッケージ 9.1 例外処理 9.2 ガーベッジコレクション.
オブジェクト指向 プログラミング 第十三回 知能情報学部 新田直也.
日本Androidの会 事務局長 SIPropプロジェクト 代表 グロースエクスパートナーズ 今村 謙之(いまむら のりつな)
第3回 2007年4月27日 応用Java (Java/XML).
EclipseでWekaのAPIを呼び出す
オブジェクト指向 プログラミング 第十四回 知能情報学部 新田直也.
暗号技術 ~JAVAプログラム①~ (5週目)
プログラミング演習3 第2回 GUIの復習.
プログラミング基礎a 第10回 Javaによる図形処理入門(2) GUIの使い方
7.4 intanceof 演算子 7.5~7.9パッケージ 2003/11/28 紺野憲一
プログラミング基礎a 第10回 Javaによる図形処理入門(2) GUIの使い方
プログラミング基礎a 第12回 Java言語による図形処理入門(3) アニメーション入門
プログラミング基礎a 第11回 Java言語による図形処理入門(3) アニメーション入門
WinSCPのインストール方法
インタラクティブ・ゲーム制作 プログラミングコース 補足資料
ソフトウェア制作論 平成30年11月21日.
パッケージ,アクセス修飾子 2008年4月27日 海谷 治彦.
オブジェクト指向 プログラミング 第十ニ回 知能情報学部 新田直也.
JAVA入門後期④ イベント、AWT、の基本構造、スレッド
プログラミング言語論 第十三回 理工学部 情報システム工学科 新田直也.
JAVA GUIプログラミング 第3回 イベント処理① マウスイベント.
C#プログラミング実習 第3回.
E-精算インストール説明書.
画面への描画 Graphics オブジェクト 紙 ペン Pen オブジェクト Brush オブジェクト 画面のピクセルをカプセル化
ソフトウェア制作論 平成30年11月28日.
Javaとは Javaとはオブジェクト指向言語でJava VM(Java仮想マシン)と呼ばれるプログラム上で動作します。
5-2 基本的なウィジェット (1)Toggle Button A. 配置
7.アプリケーションの連携 7-1 インテント(intent) 1.アプリケーションの連携とは
7-3 サービスの連携 1.サービスとは 画面を持たずに処理を行う【AndroidManifest.xmlへの追加】 …
5.基本API 5-1 レイアウト ウィジェットの並べ方を指定するには、 パレットのレイアウト(Layoutでは以下の8種類)を配置する。
5-6 SurfaceView による高速描画 (1)SurfaceViewを使う A. SurfaceView とは
5-5 文字列の描画 (1)基本的な文字列描画 A.手順
Presentation transcript:

5-7 音声の再生 (1)テキストスピーチ A. 手順 音声による英文のスピーチ ・ Android 1.6 以降の実機で可能。 ・ Android では英語であれば エミュレータで可能。それ以前は実機のみ。 ・機種によっては音声がインストールされていない場合があるので、 Android マー ケットからダウンロードしてインストールする。 【手順】 ①初期化時に呼び出されるリスナを指定して、 TextToSpeach クラスを作成。 ②言語を指定。ここでは ENGLISH 。 ③ Edit Text ウィジェットに入力されたテキストを指定して、 speak メソッドを呼び 出す。

C. プログラム例(1) package jp.yu.speech; import android.app.Activity; import android.os.Bundle; import java.util.*; import android.speech.tts.*; import android.speech.tts.TextToSpeech.*; import android.view.*; import android.view.View.*; import android.widget.*; public class SpeechActivity extends Activity { EditText text; Button btn; TextToSpeech tsp; /** Called when the activity is first created. public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); LinearLayout LL = new LinearLayout(this); LL.setOrientation(LinearLayout.VERTICAL); setContentView(LL); text = new EditText(this); LL.addView(text); btn = new Button(this); btn.setText("Start"); LL.addView(btn); tsp =new TextToSpeech(getApplicationContext(), new SpeechInitListener());

プログラム例(2) tsp.setLanguage(Locale.ENGLISH); btn.setOnClickListener(new SpeechClickListener()); } class SpeechClickListener implements public void onClick(View arg0) { String str = text.getText().toString(); if(str != null) tsp.speak(str, TextToSpeech.QUEUE_FLUSH, null); } class SpeechInitListener implements public void onInit(int arg0) {} }

D. 実行例 Edit Text ウィジェットに 英文を入力して Start ボタンをクリック。 テキストが読まれる。

(2)音声データの再生 A. 再生可能ファイル フォーマット/コーデックエンコーダデコーダサポートファイル AAC LC/LTPMP3 ○ ○ 3GPP(.3gp) NE-AACv1(AAC+) … ○ MPEG-4(.mp4, m4a) HE-AACv2 … ○ ADTS raw AAC(.aac) (enhanced AAC+) ・デコード (Android 3.1 以上 ) ・エンコード (Android 4.0 以上 ) ・ ADIF 非サポート MPEG-TS(.ts)Android 3.0 以上,シーク不可 AMR-NB ○ ○ 3GPP(.3gp) AMR-WB ○ ○ 3GPP(.3gp) FLAC … ○ FLAC(.flac) Android 3.1 以上 MP3 … ○ MP3(.mp3) MIDI … ○ Type and 1(.mid,.xmf,.mxmf) RTTTL/RTX(.rtttl,.rtx), OTA(.ota), iMelody(.imy) Vorbis … ○ Ogg(.ogg), Matroska(.mkv), Android 4.0 以上 PCM/WAVE … ○ WAVE(.wav)

B. サポート詳細 フォーマット/コーデック詳細 AAC LC/LTPMP3 モノラル/ステレオ, NE-AACv1(AAC+) 最高 160 Kbps, サンプリングレート 8 ~ 48 kHz HE-AACv2 AMR-NB4.75 ~ 12.2 Kbps, サンプリングレート 8 kHz AMR-WB6.60 ~ Kbps, サンプリングレート 16 kHz FLAC モノラル/ステレオ ( マルチチャンネル不可 ), 16 bit 推奨, サンプリングレート 48kHz, 24 bit ディザは適用されない。 MP3 モノラル/ステレオ, 8 ~ 320 Kbps ( CBR), または VBR MIDIMIDI Type 0 and 1, DLS Version 1 and 2, XMF, Mobile XMF, RTTTL/RTX, OTA, iMelody PCM/WAVE8 and 16 bit linear PCM

C. 再生方法 ・安全のためエミュレータでは 4.0 以降を使うこと 【手順】 ①「 res 」フォルダ内に「 raw 」サブフォルダを作成。 ②音声ファイルを raw サブフォルダ内に移動。サンプルでは music1.mp3 を指定。 ③リソースを指定するときは「 R.raw. ファイル名」。サンプルでは 「 R.raw.music 」と指定する。

D. 操作方法 (その1) Res フォルダ内に raw サブフォルダ作成 ①「 res 」フォルダ選択 ②「ファイル」「新規」「フォルダ」を指 定

操作方法 (その2) ③フォルダ名「 raw 」を入力して「完了」ボタンクリック

操作方法 (その3) ④音声ファイルを「 raw 」フォルダにドラッギング ⑤「ファイルをコピー」にチェッ クを 入れて「OK」ボタンをクリッ ク ⑥コピーされていることを確 認

E. 関連クラス 【 android.media.MediaPlayer クラス】 static MediaPlayer create 指定リソースを再生するメディア (Content cn, int id) プレーヤを作成。 void prepare() メディアプレーヤの準備 void start() 再生開始 void pause() 再生一時停止 void stop() 再生停止 void seekTo(int m) 再生ミリ秒に移動 void release() メモリの開放 void setOnCompletionListener サウンド再生完了リスナーの指定 (MediaPlayer.OnCompletionListener l) l :サウンド完了リスナー void onCompletion(MediaPlayer mp) サウンド再生完了時に呼ばれる。 【注意】バックキーなどでホーム画面に移っても,メモリが許す限りバックグラ ウンドで動いているので,そのままでは再生し続けることになる。 アプリ停止時に明示的にサウンドを停止することが必要。

C. プログラム例(1) package jp.sound; import android.app.Activity; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.media.MediaPlayer; import android.os.Bundle; import android.view.MotionEvent; import android.view.View; import android.view.Window; public class SoundActivity extends Activity { private MediaPlayerView view; private MediaPlayer player; /** Called when the activity is first created. public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); view =new MediaPlayerView(this); setContentView(view); } class MediaPlayerView extends View implements MediaPlayer.OnCompletionListener{ public MediaPlayerView(Context context) { super(context); setBackgroundColor(Color.WHITE); setFocusable(true); player=null; } public void onDraw(Canvas canvas){ Paint p = new Paint(); p.setAntiAlias(true); p.setTextSize(32); canvas.drawText("Media Player Excecute",0,40,p); }

プログラム例(2) public boolean onTouchEvent(MotionEvent event){ if(event.getAction()==MotionEvent.ACTION_DOWN){ if(player==null)playSound(); else stopSound(); } return true; } public void playSound(){ try{ stopSound(); player=MediaPlayer.create(getBaseContext(), R.raw.music1); player.seekTo(0); player.start(); player.setOnCompletionListener(this); }catch(Exception e){} } public void stopSound(){ try{ if(player == null) return; player.stop(); player.setOnCompletionListener(null); player.release(); player=null; }catch(Exception e){} } public void onCompletion(MediaPlayer mp) { stopSound(); }