• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:iphoenでロック中でも音楽再生を継続したい)

iphoenでロック中でも音楽再生を継続したい

このQ&Aのポイント
  • iphoenのミュージック再生アプリの開発においてロック中でも再生を継続する方法が知りたい
  • 設定を変更してもiphoenのロック中に音楽再生が停止してしまう問題が発生しています
  • AVAudioSessionを使用してホームボタンを押した状態でも音楽再生を継続する方法を教えてください

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

この件は、私も以前悩んだことがあります。 結局、リモートコントロールイベントを受け取るようにして それを受けとるビューコントローラーをファーストレスポンダ にしたら、バックグラウンドで再生が継続できるようになりました。 ただ、私はAVAudioPlayerを使ってやってましたので、 もしかするとAUGraphだと事情が変わるかもしれませんが、 試してみるとよいと思います。 以下のURLがそのあたりも含めて書かれてあって参考になると思います。 http://blog.valeur3.com/?p=663 それと、前回の質問(再生位置制御の件)は疑問を残したまま閉じたような 感じですが、解決したんでしょうか? kAudioUnitSubType_AudioFilePlayerを使っているんだったら、 コールバックで処理するのではなく、そのAudio File Player Unit の設定変更で再生位置を制御する必要があります。 再生位置の取得はkAudioUnitProperty_CurrentPlayTimeプロパティを 取得することで得られますが、そのプロパティに直接設定して 再生位置を変更することはできないようで、結局再生リージョンを 設定し直す形で再生位置を変更する必要があるようです。 以下のサンプルのgetTrackPosition関数,setTrackPosition関数が 参考になると思います。 https://github.com/aranm/AUFilePlayerDemo/blob/master/iOSfilePlayer/PlayFile.cpp

cocoro99
質問者

お礼

ありがとうございます。 AUGraphのためか、うまく行きませんでしたが。 頂いた情報をもとに色々調査したところ ロック時にIOバッファサイズが変更される事が原因だと考え AudioSessionのsetPreferredIOBufferDurationを利用する事により解決しました。 >それと、前回の質問(再生位置制御の件)は疑問を残したまま閉じたような感じですが、解決したんでしょうか? その後、Extended Audio File Services にて実装しましたが、レイテンシがネックとなり再度調査していたところでした。 今回ご紹介いただいた情報は、まさに探していたものでした。 早速、実装しました。 大変参考になる情報をありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • iphone バックグラウンド再生

    iphoneのバックグランド再生について質問です。 以前は音楽アプリ・music等で音楽を聴いている途中でホームボタンやロックボタンによって瞬時に再生が停止されていたように思います。 昔はこの選択(再生停止・バックグラウンド再生)を設定できた気がするのですがios7ではこの設定はなくなったのでしょうか? iphone4s ios7.1 宜しくお願い致します。

  • Bluetoothイヤフォンでの再生&停止

    Windows10/11がロック画面になっているときでも、Bluetoothイヤフォンについているボタンで音楽の再生や停止をする方法はありますか? Windowsにログオンしている状態では、Bluetoothイヤフォンのボタンを使って、YouTubeやMedia Player、その他の再生アプリの再生と停止はできています。 一方、セキュリティの観点から一定時間操作が無いときに自動的にロック画面になるように設定しています。ロック画面に移行したときに再生を継続するのは良いのですが、ロック画面では再生を止めたり再開することができなくなります。 ロック画面の状態でもBluetooth側のボタン操作を使えるようにする方法はありませんか? Windows側で何かの設定を変更する方法の他、別のアプリだったら操作できるという方法でも構いません。 ロック画面に移行しないようにすれば良いのですが、その設定は変えないという前提で解決方法があれば教えていただきたいです。

  • エンドレス再生しても飽きの来ない音

    というとどんなものがあるでしょう? ※個人差はあると思いますが、回答するにあたり考慮する必要はありません。あなたの主観でお答えください。 (一応、用途についても書いておきます。 https://okwave.jp/qa/q9573157.html > iPad・iPhoneで自動ロックしないが画面は暗くする方法 > しばらく操作がないとき画面が低輝度で点いたまま(消灯も可)になり、かつロックにはならず画面をタッチするだけで物理ボタンの操作なしに復帰するようにしたい場合どのような方法がありますか。 について自分でも継続して調べておりましたが、無音の音を再生することで停止させられまいと画策する行儀の悪いアプリがあるというのを知りアプリ(Documents)で無音のWAVファイルをエンドレス再生させたところ、果たしてほぼ理想通りの動作が実現できました。しかし、別のアプリを使うなど何かをしているうちに再生が止まっていることがあるのです。再生が止まったのに気付くように音楽・トークなどを再生するようにしてみました。休日などは起きている間中聞くことになるのですが、延々と繰り返し聞いていると飽きが来るのか、もう聞きたくない、となってしまうのです。一曲のリピートはもちろん5時間程度の長いソースでもなってしまうので、何かいい音が無いかご意見を伺った次第です)

  • iOS4のマルチタスクについて教えてください。

    iOS4のマルチタスクについて教えてください。 iOS4のマルチタスクについて、ウィキペディでは以下のように記述されています。 >原則としてバックグラウンドのアプリケーションはタスク切替後にスリープ状態となり、 >次回呼出時に切替直前の動作状態が復元されるが、 >アップルが許可するバックグラウンド動作に関するAPIを使用することで、 >オーディオ再生やVoIP、位置情報通知などiOSの一部機能を >バックグラウンドのアプリケーションからも利用可能となる。 オーディオ再生等以外に、フォアグラウンドのアプリがコピーしたテキストの内容を、バックグラウンドのアプリが取得することは可能でしょうか? ご存知の方がいらっしゃいましたら教えてください。 よろしくお願いします。

  • Youtube動画再生時のフルスクリーン抑止したい

    iPhoneアプリの開発でyoutube動画をアプリ内で再生する際にフルスクリーンとなるの防ぎ アプリ内のViewで再生する方法を探しています。 ちょうど下記質問で解決済みとなっているのですが、 同様に設定してもフルスクリーンとなってしまいました。 http://okwave.jp/qa/q8472053.html どなたか、アドバイス等いただけませんでしょうか。 <環境> Xcode:Version 5.1 (5B130a) iOS :7.1 <試したこと> UIWebViewを設置して、ViewControllerの viewDidAppear 内で下記のように記述しておりますが、全画面表示で再生されてしまいます。 NSString *html = @"<iframe webkit-playsinline width=\"150\" height=\"100\" src=\"https://www.youtube.com/embed/ULomZ-kcsEg?feature=player_detailpage&playsinline=1\" frameborder=\"0\"></iframe>"; // UIWebViewに生成したHTMLをセットする self.webView.allowsInlineMediaPlayback=YES; [self.webView loadHTMLString:html baseURL:nil];

  • iOSでシステム起動時に実行

    こんにちは。 iOSで位置情報を使用してバックグラウンドで動作するアプリを開発しようとしています。 いまのところ、バックグラウンドで実行するためには、一度フォアグラウンドで実行する必要があるのですが、一度、システムをシャットダウンしてしまいますと、改めてフォアグラウンドで実行する必要があります。 ここで、シャットダウンされても、次の起動時にバックグラウンドでの実行が継続できるようななにかうまい方法はありませんでしょうか? Appleですので、禁止されているという可能性もあると思います。その場合はそんな情報でも構いません。 よろしくお願いします。

  • バックグラウンド処理について(iOS)

    お世話になりまくっております。 道玄坂小五郎です。 iOSアプリ開発者用にSDKを作成しているのですが、有料の為、第3者に使われてしまった 場合の対策でとてもてこずっています。 ログインした時にサーバから使用できる残り時間をもらい、それを基にタイマーで管理した いのですが、バックグラウンド処理を調べた結果 ”ios7未満のデバイスだと、電話系、オーディオ系、位置情報系など以外はバックグラウンド 処理が、数秒~10分までしか動かない仕様で、ホームボタンを押しただけで数秒待機状態 になった後、バックグラウンド処理が止まってしまう”事がわかりました。 本来はホームボタンを押した後もずっとタイマーを回して、アプリをフォアグラウンドにする前 にタイマーが切れたら、その後再ログインしないと使えない。 という形にしたいのですが、現状だとホームボタンを押した時にタイマーは止まってしまい、 アプリをフォアグラウンドにする前に有効期限を迎えていても、フォアグラウンドにした時に タイマーが前回の続きから動き出し、残り時間まで使えてしまう状態になっています。 ※オフラインでも使えるようにするという考慮もある為、オンラインで都度確認というのは無し としております。 現在調べようとしている事 ・プッシュ通知機能などで何か対策できないか見ていますが、調べきれてません。 ・タイマー(アラーム)関係のアプリはどうやっているのか。 何か良い案をお持ちの方おりましたら、アドバイスお願いします。 つたない文章ですみません。

  • CGIでサーバタイムアウトを避ける方法

    cgiアプリで、かなり時間のかかるDB登録処理を作成しています。 で、サーバのタイムアウトになりアプリがIIS Serverにkillされてしまうのですが そのkillされるタイミングを知る方法はあるでしょうか? といいますのはkillされてしまうとフラグクリアなどの後処理ができず、 他のセッションからも処理ができなくなってしまうのです。 タイマー監視ではなく、その時のサーバのステータスなどがわかるといいのですが。 因みにサーバのタイムアウトの時間を変更することはできないんです。 または、それを回避させるために、 処理の途中でhttpレスポンスなどを発行して処理を継続させる方法など あるのでしょうか? 今はタイムアウト時間前に処理が終了できるよう かなり処理件数を制限していまして、   使いづらい といわれてします。 環境  windows server 2003  IIS で、 アプリはc言語で開発しています。

  • 音楽を継続して流すには

    HPのトップページで音楽を流すことはできるのですが、掲示板や日記ページにいくと音楽が止まってしまいます。 流し続けるにはどのようにしたら良いのでしょうか??

  • iPhoneアプリ開発 ファイル書き込み

    iPhoneアプリ開発につきまして、質問させて頂きます。 csvファイルへのデータの出力を試みているのですが上手くできません。 プログラムとログ内容を以下に記述しました。 「abc」と予め書いてある「hoge.csv」ファイルに「stringaaaaaaaaaaa」を書き込み保存しておきたいのですが、上手くいきません。 ログ内容を見る限り、「abc」が読み込めているので、パスは合っていると思っています。また、writeToFileをしてから読み込むと「stringaaaaaaaaaaa」が読み込めるため、どこかには書き込めているような気がします。 しかし、毎回同じ処理をしても、最初に読み込まれるのは「abc」です。「hoge.csv」をテキストエディタで読み込んでも表示されるのは「abc」です。 また、iPhoneシミュレーターで実行した結果は以下のログ内容なのですが、iPhone実機で動作させると、writeToFileを行ったあとでも「abc」が出力されます。 何か原因を思い当たる方、教えて頂ければ幸いです。 - (void)viewDidLoad { [super viewDidLoad]; [self setTitle:@"Stress Application"]; printf("viewdidload"); NSString *text = [[NSString alloc] initWithFormat:@"stringaaaaaaaaaaaaaaa"]; NSString *_path = [[NSBundle mainBundle] pathForResource:@"hoge" ofType:@"csv"]; //atomicallyは補助ファイルを使ってファイルの破損を防止するかどうか NSLog(@"%@",[NSString stringWithContentsOfFile:_path encoding:NSUTF8StringEncoding error:nil]); [text writeToFile:_path atomically:YES encoding:NSUTF8StringEncoding error:nil]; NSLog(@"%@",[NSString stringWithContentsOfFile:_path encoding:NSUTF8StringEncoding error:nil]); NSLog(@"%@",text); } <ログ内容> 2012-10-31 12:35:10.187 ThinkGearTouch[17182:1a903] FinishLaunching viewdidload2012-10-31 12:35:10.204 ThinkGearTouch[17182:1a903] abc 2012-10-31 12:35:10.212 ThinkGearTouch[17182:1a903] stringaaaaaaaaaaaaaaa 2012-10-31 12:35:10.212 ThinkGearTouch[17182:1a903] stringaaaaaaaaaaaaaaa

このQ&Aのポイント
  • 残価設定ローンは車を購入する際のローン返済方法の一つです。三百万円の車を百万円の残価で購入する場合、返済額は二百万円になります。
  • 残価設定ローンには2つの説明があります。①三百万円のローン返済になるという説明と、②残価を差し引いた二百万円のローン返済になるという説明があります。
  • ②の場合、百万円は販売会社に現金で支払うか、銀行のマイカーローンを利用することができます。
回答を見る