wavファイルの再生時間を取得する方法はありますか?

2,155 views
Skip to first unread message

KHas

unread,
Aug 25, 2015, 5:29:20 PM8/25/15
to 日本Androidの会
soundPoolで5秒程度のwavファイルを再生した直後にHandlerをpostDelayedしたいと思っています。

wavファイルの再生時間を取得する方法っていうのはあるんでしょうか?

Jun Shiozawa

unread,
Aug 25, 2015, 7:02:03 PM8/25/15
to android-g...@googlegroups.com

http://developer.android.com/reference/android/media/SoundPool.html

公式のリファレンスをぱっと見した限り再生時間がどこまで進んだかを取得するメソッドは見あたりませんけどあくまでもぱっと見ですので

2015/08/26 6:29 "KHas" <k.ha...@gmail.com>:
soundPoolで5秒程度のwavファイルを再生した直後にHandlerをpostDelayedしたいと思っています。

wavファイルの再生時間を取得する方法っていうのはあるんでしょうか?

--
このメールは Google グループのグループ「日本Androidの会」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには android-group-j...@googlegroups.com にメールを送信してください。
このグループに投稿するには android-g...@googlegroups.com にメールを送信してください。
http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。

psychedesire .

unread,
Aug 25, 2015, 7:20:37 PM8/25/15
to android-g...@googlegroups.com

こんちは。

Wavの全体の長さて意味すか?

http://d.hatena.ne.jp/xucker/touch/20050501

Androidで動くかはわからん(´∇`)

『Java wav 読み込み』 とかで検索する感じ?

KHas

unread,
Aug 26, 2015, 3:55:39 AM8/26/15
to 日本Androidの会
>>Jun Shiozawa様

そうなんですよねー・・・ありがとうございます!!

KHas

unread,
Aug 26, 2015, 4:08:13 AM8/26/15
to 日本Androidの会
>psychedesire様

ありがとうございます!なんかいけそうです。

質問が言葉足らずでスイマセン・・・そうです、Wav全体の長さっていう意味です!
特定のWavファイルが何秒かを取得してpostDelayedに設定したいなと・・・

noxi

unread,
Aug 27, 2015, 1:56:19 AM8/27/15
to android-g...@googlegroups.com
noxiです。

適当にググッたらこんな記事がありました。
自分では試していませんが参考までに。


Android でオーディオファイルの再生時間(長さ)を取得する方法
http://qiita.com/akiramuramatsu/items/c947afd54c59a3b94662

2015年8月26日 17:08 KHas <k.ha...@gmail.com>:

Hiroaki GOTO as GORRY

unread,
Aug 27, 2015, 5:53:36 AM8/27/15
to android-g...@googlegroups.com

後藤 浩昭(GORRY)です。

老婆心ながら…。
wavファイルを再生できないAndroid端末が結構あります。
oggファイルなどにしておいたほうが無難です。

# ファイル形式が何であろうが、AudioSystemやMediaPlayerを
# 利用するという手法自体は同じです。



In message <97633277-ca16-40d4...@googlegroups.com>
"[android-group-japan: 29044] wavファイルの再生時間を取得する方法はありますか?"
"KHas <k.ha...@gmail.com>" wrote:

> soundPoolで5秒程度のwavファイルを再生した直後にHandlerをpostDelayedしたいと思っています。
>
> wavファイルの再生時間を取得する方法っていうのはあるんでしょうか?
>
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループから退会し、グループからのメールの配信を停止するには android-group-j...@googlegroups.com にメールを送信してください。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
> その他のオプションについては、https://groups.google.com/d/optout にアクセスしてください。



--
Hiroaki GOTO as "GORRY" : 後藤 浩昭
EMAIL: gorr...@gmail.com

Shin Miyazaki

unread,
Aug 27, 2015, 6:52:54 AM8/27/15
to android-g...@googlegroups.com
こんばんは、みやざきです。

wavファイルを再生できないAndroid端末が結構あります

そうなんですか?
早い時期からPCM/WAVEのデコードはサポートされていて、無茶なレート設定でもしてなければ必ず使用できるものと思っていました。

2015年8月27日 18:52 Hiroaki GOTO as GORRY <gorr...@gmail.com>:

giontamayan

unread,
Aug 28, 2015, 2:41:36 AM8/28/15
to 日本Androidの会


2015年8月26日水曜日 6時29分20秒 UTC+9 KHas:
soundPoolで5秒程度のwavファイルを再生した直後にHandlerをpostDelayedしたいと思っています。

wavファイルの再生時間を取得する方法っていうのはあるんでしょうか?

横やりでスミマセン。
私の場合、wavを再生出来ない端末があるとは思えませんが単純にそのwavファイルをMediaPlayerにセットしてgetDuration()を取得すると再生時間は取得出来ます。
MediaPlayerにセットするだけで再生する必要は無く、setDataSource()、prepare()、getDuration()後、release()で取得しています。
取得する時間はミリ秒なので後は換算してやれば目的の数値は得られるはずです。




 

KHas

unread,
Aug 30, 2015, 4:36:57 AM8/30/15
to 日本Androidの会
giontamayan 様

ありがとうございます!

アドバイスいただいた方法で解決いたしましたm(_ _)m

ほんとに助かりましたー!!!



2015年8月28日金曜日 15時41分36秒 UTC+9 giontamayan:

KHas

unread,
Aug 30, 2015, 4:38:13 AM8/30/15
to 日本Androidの会
後藤 浩昭(GORRY)様

ありがとうございます!

そうなんですね!?貴重な情報をありがとうございます。
Android初心者なもので・・・助かります!



2015年8月27日木曜日 18時53分36秒 UTC+9 GORRY:

後藤 浩昭(GORRY)です。

老婆心ながら…。
wavファイルを再生できないAndroid端末が結構あります。
oggファイルなどにしておいたほうが無難です。

# ファイル形式が何であろうが、AudioSystemやMediaPlayerを
# 利用するという手法自体は同じです。



  "[android-group-japan: 29044] wavファイルの再生時間を取得する方法はありますか?"
  "KHas <k.ha...@gmail.com>" wrote:

> soundPoolで5秒程度のwavファイルを再生した直後にHandlerをpostDelayedしたいと思っています。
>
> wavファイルの再生時間を取得する方法っていうのはあるんでしょうか?
>
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループから退会し、グループからのメールの配信を停止するには android-group-japan+unsub...@googlegroups.com にメールを送信してください。
> このグループに投稿するには、android-group-ja...@googlegroups.com にメールを送信してください。

KHas

unread,
Aug 30, 2015, 4:40:00 AM8/30/15
to 日本Androidの会, android.w...@gmail.com
noxi様

このやり方で解決出来ました!ありがとうございますm(_ _)m

自分のググり方がしょぼくて恥ずかしいです(笑)

ありがとうございましたー!

2015年8月27日木曜日 14時56分19秒 UTC+9 noxi:
noxiです。

適当にググッたらこんな記事がありました。
自分では試していませんが参考までに。


Android でオーディオファイルの再生時間(長さ)を取得する方法
http://qiita.com/akiramuramatsu/items/c947afd54c59a3b94662

2015年8月26日 17:08 KHas <k.ha...@gmail.com>:
>>psychedesire様
>
> ありがとうございます!なんかいけそうです。
>
> 質問が言葉足らずでスイマセン・・・そうです、Wav全体の長さっていう意味です!
> 特定のWavファイルが何秒かを取得してpostDelayedに設定したいなと・・・
>
> --
> このメールは Google グループのグループ「日本Androidの会」に登録しているユーザーに送られています。
> このグループから退会し、グループからのメールの配信を停止するには
> android-group-japan+unsub...@googlegroups.com にメールを送信してください。

Hiroaki GOTO as GORRY

unread,
Aug 30, 2015, 10:58:21 AM8/30/15
to android-g...@googlegroups.com

後藤 浩昭(GORRY)です。

ちょっと訂正したほうがよいですね…すみません。
一部の形式(リニアPCM, 16/8bit, 48/44.1/32/24/22.05/16/12/11.025kHz)の
正しいWAVファイルであれば、再生できると考えてよいです。

ただし、以下のような問題があることを覚えておくとよいです。
・上記以外の形式のWAVファイルが多数ある。
・WAVファイルは独自実装のcodecが多数あるため、「ある環境
(特定の機種・アプリなど)で作成したWAVファイルが、別の環境で
正しく再生できない」問題が発生してしまうケースが案外ある。
・サウンドファイルの扱いに慣れていないと、これらの問題を
判別することが難しい。

「どの機種のどのアプリのどういう設定で出力したWAVファイルか」を
意識できるのであれば、問題が発生する可能性は低いと思います。



In message <CAFXzPS5C1Ed9L26S5NJpwngu...@mail.gmail.com>
"Re: [android-group-japan: 29052] wavファイルの再生時間を取得する方法はありますか?"

KHas

unread,
Sep 16, 2015, 5:15:21 AM9/16/15
to 日本Androidの会
後藤 浩昭(GORRY)様

なるほどー!よくわかりました!
中々奥が深いですねー。
確かに作ったアプリがインストールされるデバイスがすべて同じわけはないのでそこんとこ考えとかないといけないんですかね。

ありがとうございます!



2015年8月30日日曜日 23時58分21秒 UTC+9 GORRY:

後藤 浩昭(GORRY)です。

ちょっと訂正したほうがよいですね…すみません。
一部の形式(リニアPCM, 16/8bit, 48/44.1/32/24/22.05/16/12/11.025kHz)の
正しいWAVファイルであれば、再生できると考えてよいです。

ただし、以下のような問題があることを覚えておくとよいです。
・上記以外の形式のWAVファイルが多数ある。
・WAVファイルは独自実装のcodecが多数あるため、「ある環境
  (特定の機種・アプリなど)で作成したWAVファイルが、別の環境で
  正しく再生できない」問題が発生してしまうケースが案外ある。
・サウンドファイルの扱いに慣れていないと、これらの問題を
  判別することが難しい。

「どの機種のどのアプリのどういう設定で出力したWAVファイルか」を
意識できるのであれば、問題が発生する可能性は低いと思います。



  "Re: [android-group-japan: 29052] wavファイルの再生時間を取得する方法はありますか?"
  "Shin Miyazaki <shin...@gmail.com>" wrote:

> こんばんは、みやざきです。
>
>> wavファイルを再生できないAndroid端末が結構あります。
>
> そうなんですか?
> 早い時期からPCM/WAVEのデコードはサポートされていて、無茶なレート設定でもしてなければ必ず使用できるものと思っていました。
>
> 2015年8月27日 18:52 Hiroaki GOTO as GORRY <gorr...@gmail.com>:
>
>>
>> 後藤 浩昭(GORRY)です。
>>
>> 老婆心ながら…。
>> wavファイルを再生できないAndroid端末が結構あります。
>> oggファイルなどにしておいたほうが無難です。
>>
>> # ファイル形式が何であろうが、AudioSystemやMediaPlayerを
>> # 利用するという手法自体は同じです。
>>
>>
>>
>>   "[android-group-japan: 29044] wavファイルの再生時間を取得する方法はありますか?"
>>   "KHas <k.ha...@gmail.com>" wrote:
>>
>> > soundPoolで5秒程度のwavファイルを再生した直後にHandlerをpostDelayedしたいと思っています。
>> >
>> > wavファイルの再生時間を取得する方法っていうのはあるんでしょうか?
>> >
>> > --
>> > このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
>> > このグループから退会し、グループからのメールの配信を停止するには
>> android-group-japan+unsub...@googlegroups.com にメールを送信してください。
>> > このグループに投稿するには、android-group-ja...@googlegroups.com にメールを送信してください。
>> > http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
>> > その他のオプションについては、https://groups.google.com/d/optout にアクセスしてください。
>>
>>
>>
>> --
>> Hiroaki GOTO as "GORRY" : 後藤 浩昭
>> EMAIL: gorr...@gmail.com
>>
>> --
>> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
>> このグループから退会し、グループからのメールの配信を停止するには
>> android-group-japan+unsub...@googlegroups.com にメールを送信してください。
>> このグループに投稿するには、android-group-ja...@googlegroups.com にメールを送信してください。
>> http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
>> その他のオプションについては、https://groups.google.com/d/optout にアクセスしてください。
>>
>
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループから退会し、グループからのメールの配信を停止するには android-group-japan+unsub...@googlegroups.com にメールを送信してください。
> このグループに投稿するには、android-group-ja...@googlegroups.com にメールを送信してください。
Reply all
Reply to author
Forward
0 new messages