У меня есть приложение, в котором записываются аудиофайлы.
Пользователь может указать длину записанного аудио, количество сэмплов и время между записями.
Например:
length = 3 sec
samples = 2
interval = 5 sec
Когда приложение запускается, оно создает поток, ждет 5 секунд и создает второй поток.
Первый поток записывает 3-секундную выборку в указанный каталог.
Через 2 секунды следующий поток начинает запись второго семпла.
Он работает и создает два файла: sample1.3gp, sample2.3gp.
Но когда пользователь указывает:
length = 3 sec
samples = 2
interval = 1 sec
запись не может быть выполнена из-за того, что 2-й поток пытается получить доступ к медиа-рекордеру, когда 1-й поток все еще использует его.
Я хочу установить блокировку для этого ресурса. Что я имею в виду?
Когда 1-й поток начинает запись в течение 3 секунд, через 1 секунду 2-й поток пытается записать тоже.
Но он должен ждать следующие две секунды, пока 1-й поток не завершит свою работу.
Как лучше всего решить эту проблему?