問題タブ [mpmediaplayercontroller]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - iOS 6 で廃止された MPMusicPlayerController
Apple がリリースした iOS 5.1 から iOS 6.0 への API の違いを見てきました。彼らは、いくつかの重要なメソッドがプロトコルMPMusicPlayerController.h
から削除されていると言いMPMediaPlayback
ます (再生、一時停止、停止...)。
以下のコードを使用して iOS 6 で動作するアプリケーションを更新する方法を知っている人はいますか?
ios - プレーヤー contentURL が変更されると MPMoviePlayerViewController が消える
私は知っています、何十もの同様の質問があります。私はそれらすべてを読みましたが、まだ答えを見つけることができませんでした. presentModalViewController
メソッドを介してビデオでビューを表示します。ユーザーがスワイプすると、同じプレーヤーで次のビデオが開始されます。しかしcontentURL
、ビデオプレーヤーを変更しようとすると、ビューが消えます-dismissModalViewControllerAnimated
メソッドが呼び出された場合のように(そうではありませんでした)。
iphone - MPMoviePlayerPlaybackDidFinishNotification が iPhone 4.3 シミュレーターで contentURL の設定時に再度呼び出される
注: 下部の更新を参照してください。
リストからビデオを 1 つずつ再生するアプリケーションがあります。そこで、この機能をテストするために、View Controller が 1 つだけの単純なアプリケーションを作成しました。このView Controllerを実装する前に、このブログを参考にしました。ビュー コントローラーの名前TNViewController
とその実装は次のとおりです。
その実装は次のとおりです。
今、私の問題は、通知MPMoviePlayerPlaybackDidFinishNotification
が 2 回呼び出されることです。上記のコードからわかるように、viewDidLoad
(からinitPlayer
呼び出されたviewDidLoad
) で 1 回だけ登録しました。ログ出力は次のとおりです。
ご覧のとおり、終了した再生は 2 回呼び出されます。これにより、1 つのビデオがキューからスキップされます。(実際、問題が発生した元のプロジェクトではnextVideo
、ビデオをサーバーから事前にキャッシュし、キャッシュに存在する場合はキャッシュされたビデオへのパスを返します。存在しない場合は、を返しますnil
。 ) ここでは、最初にsintel_trailer.mp4
が再生されます。再生終了後、 の代わりに を再生elephants_dream_trailer.mp4
しますbig_buck_bunny_trailer.mp4
。つまり、その間にスキップしてビデオを循環再生します。MPMoviePlayerPlaybackDidFinishNotification
では、が 2 回呼び出される原因は何でしょうか? 私はこれに2日間取り組んでいますが、まだうまくいきません。何か案が?
更新 1:
現在、私はmoviePlayBackDidFinish:
以下のようなコールバックでスイッチを使用しており、動作しています:
それでも、コールバックが 2 回呼び出される原因を知りたいです。スイッチの現在の解決策はハックのように感じ、削除するのが好きです。
更新 2:
今まで、iPhone 4.3シミュレーターで試してきました。しかし、同じプログラムを iPhone 5.0 シミュレーターと iPhone 5.1 シミュレーターで試したところ、問題なく動作しました。つまり、ムービーの再生が終了した後に送信されるコールバックは 1 つだけです。そして、それは私の小さなハック(更新1で)を役に立たなくします(4.3では問題を解決しますが、5.0と5.1では問題を引き起こします). MacOSX Lion - 10.7.4 で実行されている Xcode 4.3.2 を使用しています。この問題を解決する方法について何か考えはありますか? なぜ 4.3 で 2 つのコールバックがあるのですか?
更新 3:
問題の原因となっている行を特定します。方法にありplayNextVideo
ます。問題の原因となる行は です_moviePlayer.contentURL = _movieUrl;
。最初のコールバックで変更すると、 がMPMoviePlayerPlaybackDidFinishNotification
再度送信されます。ただし、iPhone 4.3 シミュレータでのみ発生します。何か案が?
更新 4:
それでも、私はこの奇妙な行動について何の考えも持っていません。そのため、UPDATE 1 のようなタイム トリックを次のように使用しています。moviePlayBackDidFinish:
ios - iOS と Protools
タイム コードを使用して、ProTools と iOS で再生したムービーを同期できますか? 誰もこれをやったことがありますか?このプロジェクトを始めたばかりで、iPad と protools コンソールで同時にムービーを再生する必要があります。タイム シーク機能はコンソールでのみ使用できます。
ios - iOS: MPMusicPlayerControllerPlaybackStateDidChangeNotification が特定のデバイスで複数回呼び出される
音楽を再生するアプリケーションがあります。
次のコードを使用して、MPMusicPlayerController からの再生状態の変化をリッスンし、UI を更新しています。より正確には、再生ボタンの外観を再生と一時停止の間で切り替えます。
これは、iPod Touch (iOS 5)およびiPhone 3GS (iOS 5)でうまく機能します。再生状態が変化するたびに、次のコールバックを取得します。
ここで、1 は を意味しMPMusicPlaybackStatePlaying
ます。
ただし、iPad 1 (iOS 5)、iPad 2 (iOS 5)、またはiPad 3 (iOS 6)で同じものを実行すると、単一のコールバックではなく、次のシーケンスが得られます。
ここで 2 はMPMusicPlaybackStatePaused
、曲が実際に再生されているため、アプリケーションが UI に間違った状態を表示することを意味し、原因となります。
面白いのは、たまにシーケンスが
これは 1 で正しく終了しMPMusicPlaybackStatePlaying
ますが、コールバックが交互の値で 5 回呼び出されることはまだ意味がありません。
これを解決する方法についてのアイデアや、問題を絞り込むために他にテストできることを提案してください。
これまでのところ回答を受け取っていないため、質問をApple Developer Forumにもクロスポストしました: https://devforums.apple.com/thread/158426
iphone - MPMusicPlayerControllerのバッファリング/プリロード
-playを呼び出す前にMPMusicPlayerControllerにコンテンツをバッファリングさせる方法はありますか?または、キューを設定するときにデフォルトでこれを行いますか?AVAudioPlayerには-prepareToPlayメソッドがあり、AVQueuePlayerが次のアイテムのバッファリングを自動的に開始すると聞きましたが、MPMusicPlayerControllerは同じ動作をしますか?
iphone - MediaPlayer.framework: MPMusicRepeatModeDefault を実際のモードに「変換」する方法は?
Appleのドキュメントに記載されているように:
それでも、ユーザーの好みの繰り返しモードMPMusicRepeatModeDefault
として説明されています。私は音楽プレーヤーを書いているので、現在のリピートモードが何であるかを毎回知る必要があり、これが返されたとき、「実際の」モードは何ですか:
MPMusicRepeatModeNone
MPMusicRepeatModeOne
MPMusicRepeatModeAll
選ばれる?それとも、そのような情報を取得する方法はありませんか?
iphone - MPMoviePlayerController を使用してムービーを再生できないのはなぜですか?
基本的なムービーを iPhone アプリで再生しようとしています。しかし、私はそれを機能させることができないようです。ここに私のコード全体があります:
playMoviePressed
タップすると呼び出されるボタンが画面に 1 つあります。このメソッドが呼び出されることはわかっています。xcodeにドラッグしたローカルファイルでもこれを.mov
試しました。.mp4
ios - AQMEIOManager でシミュレータがクラッシュする
オーディオを再生しようとすると、シミュレーターがクラッシュします。
iphone - NSInvalidArgumentException [NSURLの長さ] urlビデオ録画iphone
iPhoneデータベースアプリケーションを介してビデオを保存します。ビデオを記録しているURLは次のとおりです。
file://localhost/private/var/mobile/Applications/0DB3ABFC-1630-44FF-8506-4B08E3CB2C85/tmp/capture-T0x2591d0.tmp.00fEdr/capturedvideo.MOV
ただし、MediaPlayer を介してビデオを読み込もうとすると、常にクラッシュします...
サンプルコード:
前もって感謝します。