Я пытаюсь создать пустой объект QTMovie, к которому я могу добавить сегменты, а затем воспроизвести. Это легко сделать с чем-то вроде:
movie = [[QTMovie alloc] initToWritableData:[NSMutableData dataWithCapacity:1048576] error:&error];
Затем я могу использовать -insertSegmentOfMovie, чтобы вставить в него фрагменты из других фильмов, чтобы воспроизвести его. Проблема в том, что мне также нужно установить определенный атрибут при создании объекта QTMovie. В частности, мне нужно установить атрибут QTMovieRateChangesPreservePitchAttribute, чтобы я мог изменять скорость воспроизведения во время воспроизведения без изменения высоты тона. Этот атрибут невозможно записать после инициализации фильма.
Итак, я могу создать объект QTMovie следующим образом:
movie = [[QTMovie alloc] initWithAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:YES], QTMovieRateChangesPreservePitchAttribute, nil] error:&error];
К сожалению, это не редактируется. Я попытался установить QTMovieEditableAttribute также при создании, но это не помогает. Я все еще получаю исключение, когда пытаюсь вставить что-нибудь в этот фильм. Я предполагаю, что это потому, что с QTMovie не существует доступного для записи файла или ссылки на данные.
Есть идеи, как это решить?