Я пишу базовый видеопроигрыватель в Flash CS5 и ActionScript 3. Для этого базового плеера я присоединяю свой NetStream к своему NetConnection, а затем вызываю метод потока .play (), чтобы начать загрузку. Хотя я хочу, чтобы метаданные и поток начали буферизоваться, я не хочу сразу начинать воспроизведение, поэтому немедленно вызываю метод потока .pause (). К сожалению, когда я немедленно останавливаюсь, событие onMetaData моего клиента потока не всегда вызывается, поэтому я не обязательно получаю общее время воспроизведения загруженного видео.
В качестве обходного пути я помещаю вызов метода «pause» внутри прослушивателя onMetaData, но иногда мое видео будет воспроизводиться немного до получения его метаданных, и поэтому будет продолжать воспроизведение до тех пор, пока оно не появится.
Есть ли хороший способ остановить воспроизведение моего потока и при этом получить метаданные моего видео?