-
25.01.2017, 14:10 #4501
-
25.01.2017, 15:51 #4502Very High Power
- Регистрация
- 18.01.2015
- Адрес
- новосибирск
- Возраст
- 75
- Сообщений
- 1,686
- Поблагодарили
- 128
- Поблагодарил
- 55
-
25.01.2017, 17:00 #4503Координатор темы
- Регистрация
- 01.07.2011
- Адрес
- Днепропетровск
- Возраст
- 60
- Сообщений
- 3,061
- Поблагодарили
- 3071
- Поблагодарил
- 242
Потратил пол-дня на убиение этой бяки. Теперь пишет только по разрешению.
Находится вИ сама запись файлаvoid MainWindow::dataSink(qint64 frames)Сделал такQtConcurrent::run(this, &MainWindow::save_wave_file, m_fname + ".wav", &dec_data.d2[0], m_TRperiod);if(!m_diskData and (m_saveAll or m_saveDecoded) and m_fname != "")
{
QtConcurrent::run(this, &MainWindow::save_wave_file, m_fname + ".wav", &dec_data.d2[0], m_TRperiod);
}73! de US5EQF Олег. http://ur1004swl.ucoz.ru/
-
25.01.2017, 17:20 #4504Координатор темы
- Регистрация
- 05.03.2015
- Сообщений
- 5,542
- Поблагодарили
- 7959
- Поблагодарил
- 806
Файлы пишутся всегда, если птичка стоит 'Save None' то они должны удаляться по окончании декодирования. Если софт закрыть во время декодирования то файл остается на диске.
Возможно эта функция отвечает за очистку:
void MainWindow::killFile ()
{
QString f=m_fname;
if(m_bFastMode) f=m_fileToKill;
if (!m_fname.isEmpty() &&
!(m_saveAll || (m_saveDecoded && m_bDecoded) || m_fname == m_fileToSave)) {
if(m_fname.indexOf(".wav")<0) f+= ".wav";
QFile f1{f};
f1.remove();Последний раз редактировалось UA3DJY; 25.01.2017 в 17:30.
-
25.01.2017, 17:45 #4505Silent Key
- Регистрация
- 21.06.2009
- Адрес
- г. Донецк
- Возраст
- 68
- Сообщений
- 721
- Поблагодарили
- 203
- Поблагодарил
- 106
-
25.01.2017, 17:53 #4506Standart Power
- Регистрация
- 20.04.2016
- Возраст
- 65
- Сообщений
- 223
- Поблагодарили
- 19
- Поблагодарил
- 5
-
25.01.2017, 19:38 #4507Координатор темы
- Регистрация
- 01.07.2011
- Адрес
- Днепропетровск
- Возраст
- 60
- Сообщений
- 3,061
- Поблагодарили
- 3071
- Поблагодарил
- 242
Мои наблюдения за этим процессом такие. При старте программы сразу начинается запись в файл (остаётся на диске). Затем запись в другой файл происходит каждую вторую минуту, считая от времени записи первого файла, файл заменяется на новую запись и тоже не удаляется. И так каждый раз при старте программы (тоже надоедало каждую неделю чистить от файлов, иначе разрастётся до таких размеров, что для старта Windows будет недостаточно свободного места на диске).
73! de US5EQF Олег. http://ur1004swl.ucoz.ru/
-
25.01.2017, 20:06 #4508
-
25.01.2017, 20:39 #4509
-
25.01.2017, 20:43 #4510Very High Power
- Регистрация
- 14.09.2010
- Адрес
- Доброполье
- Возраст
- 66
- Сообщений
- 2,657
- Поблагодарили
- 622
- Поблагодарил
- 1214
-
25.01.2017, 21:35 #4511Координатор темы
- Регистрация
- 01.07.2011
- Адрес
- Днепропетровск
- Возраст
- 60
- Сообщений
- 3,061
- Поблагодарили
- 3071
- Поблагодарил
- 242
73! de US5EQF Олег. http://ur1004swl.ucoz.ru/
-
25.01.2017, 21:56 #4512Very High Power
- Регистрация
- 14.09.2010
- Адрес
- Доброполье
- Возраст
- 66
- Сообщений
- 2,657
- Поблагодарили
- 622
- Поблагодарил
- 1214
-
25.01.2017, 22:27 #4513Координатор темы
- Регистрация
- 05.03.2015
- Сообщений
- 5,542
- Поблагодарили
- 7959
- Поблагодарил
- 806
Скорее всего дырка в коде, такой сценарий не предусмотрен. С записью файлов много проблем - основная в том что при выпадении отсчетов в файл пропавшие отсчеты не записываются нулевыми значениями а сигналы интервала из-за этого сжимаются, что приводит к невозможности декодирования.
Другая проблема в том что файл не записывается если прием интервала начат не с первой секунды, частично тоже связана с наполнением файла нулевыми отсчетами по отсутствующим секундам интервала.
Давно пора взяться за эту тему да знаний пока не хватает по обработке звука в Qt.Последний раз редактировалось UA3DJY; 25.01.2017 в 22:31.
-
26.01.2017, 10:52 #4514
Интрига...
UR7TT
-
26.01.2017, 11:39 #4515

17119Спасибо
URL обратной ссылки
Подробнее про обратные ссылки















Социальные закладки