iOS 11シミュレーターでサンプルプロジェクトを実行していますが、ビデオをタップするたびにこのエラーが発生します。
"<MRMediaRemoteCommandInfo: 0x60000136a2e0 for path <decode: missing data>
"<MRMediaRemoteCommandInfo: 0x60000136a280, Play, enabled = 0, options = (null)>",
"<MRMediaRemoteCommandInfo: 0x60000136a920, EnableLanguageOption, enabled = 0, options = (null)>",
"<MRMediaRemoteCommandInfo: 0x60000136a940, ChangePlaybackRateCommand, enabled = 0, options = (null)>",
"<MRMediaRemoteCommandInfo: 0x60000136aa60, SkipForward, enabled = 0, options = (null)>",
"<MRMediaRemoteCommandInfo: 0x60000136aa80, EndRewind, enabled = 0, options = (null)>",
"<MRMediaRemoteCommandInfo: 0x60000136aa40, EndFastForward, enabled = 0, options = (null)>",
"<MRMediaRemoteCommandInfo: 0x60000136aaa0, PreviousTrack, enabled = 0, options = (null)>",
"<MRMediaRemoteCommandInfo: 0x60000136aac0, Stop, enabled = 0, options = (null)>",
"<MRMediaRemoteCommandInfo: 0x60000136aae0, Pause, enabled = 0, options = (null)>",
"<MRMediaRemoteCommandInfo: 0x60000136ab00, SeekToPlaybackPosition, enabled = 0, options = (null)>",
"<MRMediaRemoteCommandInfo: 0x60000136ab20 for path <decode: missing data>
flutter: The controller is not ready for method calls.
flutter: The controller is not ready for method calls.
flutter: The controller is not ready for method calls.
flutter: The controller is not ready for method calls.
flutter: The controller is not ready for method calls.
@ fabiot21この問題はv6.0.3 + 1に存在しましたか?
@sarbagyastha古いバージョンを試しましたが、同じ問題が発生しています。
@ fabiot21制約バージョンを削除して確認しましたか? のように:キャレットなしyoutube_player_flutter: 6.0.3+1
。
arbsarbagyasthaはい:(
@ fabiot21実際のデバイスでも試してみてください。 シミュレーターが再生をサポートしていない場合や、プラットフォームビューが高価であるためにフリーズする場合があります。
@sarbagyasthaこれは実際のデバイスでも見ました。 少しランダムに見えますが、非常に頻繁に発生します。 数回試した後に消えることもありますが、そうでないこともあります。
リリースモードとデバッグモードの両方で、Android9のv6.0.3 + 2でテストされています。
@sarbagyasthaこれについての追加情報はありますか? この問題は、本番環境とデバッグ環境の両方でランダムに発生します(上記のコメントを参照)。 時間がない場合は、お手伝いさせていただきます。
Androidのバグを確認します。
D/eglCodecCommon( 5922): setVertexArrayObject: set vao to 2 (2) 0 0
I/flutter ( 5922): The controller is not ready for method calls.
D/eglCodecCommon( 5922): setVertexArrayObject: set vao to 1 (1) 0 0
I/flutter ( 5922): The controller is not ready for method calls.
Androidシミュレーターでこれを見始めたところです。
確認します、このバグはまだ存在しています
私はアンドロイドにも同じバグがあります。
同じエラーが発生しました。動画の読み込みが完了していないことがわかりました。解決して回答を送信します。
同じ問題。
返信が遅くなって申し訳ありませんが、スケジュールが厳しかったです。 今週中にこの問題に取り組む予定です。
私もこのスタックトレースを取得しています: https ://github.com/flutter/flutter/issues/25714
私も同じ問題を抱えていました。 そして私はこのようにこの問題を解決しました。
YoutubePlayerControllerクラスでは、
_callMethodにreload()を追加します。
_callMethod(String methodString){
if(value.isReady){
value.webViewController?.evaluateJavascript(methodString);
} それ以外 {
reload();
print( "#######################");
print( 'コントローラーはメソッド呼び出しの準備ができていません。');
}
}
1つの観察は次のとおりです:
「autoPlay」フラグがオンの場合、ビデオの再生が開始された後でも、「isReady」はfalseのままです。
したがって、その後、callMethodを呼び出すと、エラーが返されます。
_callMethod(String methodString){
if(value.isReady){
value.webViewController?.evaluateJavascript(methodString);
} それ以外 {
print( 'コントローラーはメソッド呼び出しの準備ができていません[$ methodString]。');
}
}
@royycc
ああ、自動再生についてはチェックしませんでした。 しかし、自動再生を使用しない場合、私の解決策は機能します。 :)
私も同じ問題を抱えていました。 そして私はこのようにこの問題を解決しました。
YoutubePlayerControllerクラスでは、
_callMethodにreload()を追加します。_callMethod(String methodString){
if(value.isReady){
value.webViewController?.evaluateJavascript(methodString);
} それ以外 {
reload();
print( "#######################");
print( 'コントローラーはメソッド呼び出しの準備ができていません。');
}
}
こんにちは、私はあなたの解決策を試しましたが、それは機能していません。 同じエラー
@ipolx
こんにちは、エラーのログを見せていただけますか?
つまり、ボタンをクリックしたときに、リロードのログが表示されましたか?
@ipolx
こんにちは、エラーのログを見せていただけますか?
つまり、ボタンをクリックしたときに、リロードのログが表示されましたか?
どういうわけか、私はこのエラーを管理しました。 フラッターバージョンの問題だったと思います。 とてもうまくいきます!
@ipolx
ニース、私の喜び:)
一部のデバイスは、矢印機能が何であるかをまだ認識していません。 row_youtube_player.dartのコードを置き換える必要があります。
イベント:{
onReady :(イベント)=> Ready.postMessage( "Ready")、
onStateChange:(event)=> sendPlayerStateChange(event.data)、
onPlaybackQualityChange:(event)=> PlayplayQualityChange.postMessage(event.data)、
onPlaybackRateChange :(イベント)=> PlaybackRateChange.postMessage(event.data)、
onError :(エラー)=> Errors.postMessage(error.data)
}、
と
イベント:{
onReady:function(event){Ready.postMessage( "Ready")}、
onStateChange:function(event){sendPlayerStateChange(event.data)}、
onPlaybackQualityChange:function(event){PlaybackQualityChange.postMessage(event.data)}、
onPlaybackRateChange:function(event){PlaybackRateChange.postMessage(event.data)}、
onError:function(error){Errors.postMessage(error.data)}
}、
必要に応じて自動的にリロードするelseパーツを追加して、RawYoutubePlayerの次のメソッドを変更することで問題を修正しました
onPageFinished:(_){
if(_isPlayerReady){
controller.updateValue(
controller.value.copyWith(isReady:true)、
);
}それ以外{
print( "ビデオのリロード");
controller.reload();
}
}、
Flutterを最新バージョンに更新し、問題を解決しました
Flutterを最新バージョンに更新し、問題を解決しました
最新の安定?
最新バージョンを試しましたが、機能しません
最新バージョンで同じエラーが発生する
私も同じ例外を受け取っています。 本番アプリに使用しています。
最新バージョンのiOSシミュレーターで動作しています
youtube_player_flutter:^ 8.0.0
flutter_inappwebview:^ 5.3.2
Xcodeでデプロイメントターゲット12.1を設定します。
ここでも同じエラーが発生します
すべてを試しましたが、解決策が見つかりませんでした。親指は表示されますが、ビデオが開始されません
最新バージョンのflutterとYouTube_player_flutterを使用する
最も参考になるコメント
最新バージョンを試しましたが、機能しません