Я пишу приложение, которое отправляет аудиоданные на сервер в режиме реального времени.
Я выполнил это задание, но через некоторое время он сделал ошибку. Я полагаю, это связано с плохой архитектурой моей программы.
Содержание программы выглядит следующим образом:
- Для записи звука я написал класс AudioRecorder, в котором реализован метод AudioCallBack, который вызывается AudioQueue. Внутри этого метода я записываю аудиоданные в буфер и отправляю на сервер, используя NSOutputStream.
- потоки, NSOutputStream и NSInputStream s являются экземплярами в методе init AudioREcorder.
- Метод события дескриптора потока (делегированный потоком) также реализован в том же классе AudioRecorder.
При разработке этого приложения у меня возникли следующие проблемы
1) Я хотел написать Streaming в другом классе и отправить буфер, используя какой-либо метод. Но это не было работой. Поэтому я реализовал это в том же классе.
2) Когда я хочу отправить сообщение «end» (после нажатия кнопки «end»), я попытался отправить его в метод «Button end», используя экземпляр NSOutputStream. Но это был успех. Итак, я исправил это, поместив некоторые параметры в AudioCallBack.
q1) Почему я не могу включить потоковую передачу в другой класс?
q2) Как лучше организовать этот тип приложений для разработки приложений для iPhone.
/ ТНХ