Поскольку theta
представляется списком, вам необходимо скопировать theta
, прежде чем манипулировать thetaZero
. Обратите внимание, что после thetaZero = theta
, theta
и thetaZero
ссылка на один и тот же объект. Это приводит к тому, что thetaZero[0] = 0
манипулирует theta
.
thetaZero = theta.copy()
thetaZero[0] = 0
Если theta
является массивом пустышек:
thetaZero = np.copy(theta)
thetaZero[0] = 0
Да, ключ является kAudioFileWAVEType
AudioFileCreateWithURL (
audioFileURL,
kAudioFileWAVEType,
&audioFormat,
kAudioFileFlags_EraseFile,
&audioFileID
);
, Изменяющимся на WAVE от CAF в причинах SpeakHere в качестве примера запись, чтобы быть как wav. Я также редактирую то же самое в классе воспроизведения и изменил имя файла, чтобы быть Recording.wav
Взгляните на libsndfile. Это хорошо используется (включая Смелостью) библиотека C для работы с большим количеством форматов файлов. Это поддерживает чтение и запись разнообразия форматов WAV и CAF.
Файловая структура CAF и формат WAV довольно подобны. В самом худшем случае преобразование не должно быть слишком трудным.
Это включило бы взятие блока Аудиоданных и копирование, как в файл WAV и использование информации в Аудио Блоке Описания для добавления эквивалента подблок fmt для файла WAV. Это - довольно простое копирование байта.
Однако знать (как Eric, на которого указывают) там, лицензируют проблемы, видят: библиотекой Libsndfile можно пользоваться на iOS iPhone?