ここではコードや実装の詳細には触れず、途中で起こる落とし穴についてだけ説明します...
動画撮影
動画撮影にcordova-plugin-media-catureプラグインを使用していましたが、撮影後の復帰時にインターフェイスが固まってしまい、プログラムが強制終了してしまう問題が発生し、ずっと探していましたが、 「プラグインはモバイル バージョンと互換性がありません。結局のところ、プラグインは 3 年前に最後に更新されました。この説明は、後にcordova-plugin-camera プラグインのドキュメントで見つかりました。」とさえ思いました。
戻り状況を確認するためにコールバック関数にアラートを追加したことがわかりました。このメソッドは少し低いです。一般に、コンソールに出力する場合にはこの問題は発生しませんが、iOS にはこの制限があるため、ここに示します。記録を作成します。
カメラを引き上げるとプログラムがクラッシュする
原因を調べてみると、マイクの認証を見逃していたことが分かりました。
必要に応じてconfig.xmlに設定します
それでも動作しない場合は、** -info.plist ファイルに直接移動し、次のような設定を追加します。
iOS でビデオを使用してビデオを再生すると、自動的に全画面で再生されます
調べてみると、インターネット上の多くの人は、video タグに 2 つの属性を追加すると言っています
しかし、それは役に立たず、後で config.xml で設定する必要があることがわかりました。
それでも動作しない場合は、ここに来て設定してください。
これによってこの問題が発生することはありません。
同じビデオリンクはiOSでは再生できません
まず最初に知っておく必要があるのは、iOS に埋め込まれた WebView と Safari では、video タグは分割されたリクエストでビデオを再生しますが、他のブラウザーや Android にはこの制限がないため、この問題を解決する必要があります。サーバーがリクエストに応答するときに、リクエスト ヘッダーに Range フィールドが存在するかどうかを確認します。存在する場合は、セグメント化されたリクエストであることを示します。この時点では、ビデオ データ全体を返すことはできませんが、対応するデータ セグメントが返されます。 Range フィールドがない場合は、ビデオ データ全体を返します。
以下は、nodejsを使用して実装した応答プログラムです。
その後、この問題は基本的になくなりました。
ビデオのリターン パスを選択した後、resolveLocalFileSystemURL に基づいてファイルを取得すると FileError が発生します。
ビデオ選択プラグインを実装するには、cordova-plugin-camera を使用しました。パスを返しますが、このパスは問題ないように見えますが、実際にはすぐに無効になり、ファイル マネージャーがファイルを見つけることができないため、エラーが発生します。この問題の解決策は、cordova-plugin-camera の問題にあります。
その解決策は次のとおりです
赤で囲った 2 つのファイルを見つけて、緑で囲んだ位置に上記の 2 行のコードを追加します。
2 つのファイルの場所
現時点では、この 2 つの機能の実装は基本的に問題ありませんが、初めてのことなので、落とし穴を踏むことも多く、少しぎこちないかもしれませんが、良い勉強にもなりましたプロセスなので、頑張ってください。