0

Media API を介してリモート URL からのオーディオ ストリーミングを可能にする Apache Cordova 用のプラグインに取り組んでいます。

私が経験している問題は、インスタンスEXC_BAD_ACCESSの特定のプロパティにアクセスしようとするたびにシグナルを受け取ることです。そして最悪の犯罪者です。プレーヤーはスピーカーからサウンドを再生しますが、コードが到達するとすぐに、または悪いアクセス信号をスローします。AVPlayercurrentTimeisPlayingplayer.currentTime[player currentTime]

[player play];
double position = round([player duration] * 1000) / 1000;
[player currentTime]; //This will cause the signal

私は ARC を使用しているので、公開してはいけないものは公開していません。

編集:

私が行ったことはすべて、iOS での実際のストリーミングの概念実証として、Cordova 3 CDVSound クラスをハッキングしてきました。

元のコードはここにあります: https://github.com/apache/cordova-plugin-media/tree/master/src/ios

私のコードはここにあります:

CDVSound.h

CDVSound.m

メソッドstartPlayingAudioは行 346 でトリップexc_bad_accessします。行 346 を削除すると音声が再生されますが、後でgetCurrentPositionAudio行 532 が呼び出されたときに不正なアクセスがトリップします。

編集/解決策

したがって、これを処理する最善の方法は、AVPlayerItem を使用してから .xml でアクセスすることplayer.currentItem.currentTimeです。本当の問題は、なぜこの動作が文書化されておらず、なぜこのAVPlayerように動作するのかということです。

4

0 に答える 0