-
25.01.2017, 14:10 #4501
-
25.01.2017, 15:51 #4502
- Регистрация
- 18.01.2015
- Адрес
- новосибирск
- Возраст
- 74
- Сообщений
- 1,686
- Поблагодарили
- 128
- Поблагодарил
- 55
-
25.01.2017, 17:00 #4503
- Регистрация
- 01.07.2011
- Адрес
- Днепропетровск
- Возраст
- 59
- Сообщений
- 3,001
- Поблагодарили
- 2952
- Поблагодарил
- 220
Потратил пол-дня на убиение этой бяки. Теперь пишет только по разрешению.
Находится в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! Олег. http://ur1004swl.ucoz.ru/
-
25.01.2017, 17:20 #4504
- Регистрация
- 05.03.2015
- Сообщений
- 5,570
- Поблагодарили
- 7959
- Поблагодарил
- 807
Файлы пишутся всегда, если птичка стоит '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 #4505
- Регистрация
- 21.06.2009
- Адрес
- г. Донецк
- Возраст
- 67
- Сообщений
- 721
- Поблагодарили
- 203
- Поблагодарил
- 106
-
25.01.2017, 17:53 #4506
- Регистрация
- 20.04.2016
- Возраст
- 64
- Сообщений
- 216
- Поблагодарили
- 19
- Поблагодарил
- 5
-
25.01.2017, 19:38 #4507
- Регистрация
- 01.07.2011
- Адрес
- Днепропетровск
- Возраст
- 59
- Сообщений
- 3,001
- Поблагодарили
- 2952
- Поблагодарил
- 220
Мои наблюдения за этим процессом такие. При старте программы сразу начинается запись в файл (остаётся на диске). Затем запись в другой файл происходит каждую вторую минуту, считая от времени записи первого файла, файл заменяется на новую запись и тоже не удаляется. И так каждый раз при старте программы (тоже надоедало каждую неделю чистить от файлов, иначе разрастётся до таких размеров, что для старта Windows будет недостаточно свободного места на диске).
73! Олег. http://ur1004swl.ucoz.ru/
-
25.01.2017, 20:06 #4508
-
25.01.2017, 20:39 #4509
-
25.01.2017, 20:43 #4510
- Регистрация
- 14.09.2010
- Адрес
- Доброполье
- Возраст
- 65
- Сообщений
- 2,657
- Поблагодарили
- 622
- Поблагодарил
- 1214
-
25.01.2017, 21:35 #4511
- Регистрация
- 01.07.2011
- Адрес
- Днепропетровск
- Возраст
- 59
- Сообщений
- 3,001
- Поблагодарили
- 2952
- Поблагодарил
- 220
73! Олег. http://ur1004swl.ucoz.ru/
-
25.01.2017, 21:56 #4512
- Регистрация
- 14.09.2010
- Адрес
- Доброполье
- Возраст
- 65
- Сообщений
- 2,657
- Поблагодарили
- 622
- Поблагодарил
- 1214
-
25.01.2017, 22:27 #4513
- Регистрация
- 05.03.2015
- Сообщений
- 5,570
- Поблагодарили
- 7959
- Поблагодарил
- 807
Скорее всего дырка в коде, такой сценарий не предусмотрен. С записью файлов много проблем - основная в том что при выпадении отсчетов в файл пропавшие отсчеты не записываются нулевыми значениями а сигналы интервала из-за этого сжимаются, что приводит к невозможности декодирования.
Другая проблема в том что файл не записывается если прием интервала начат не с первой секунды, частично тоже связана с наполнением файла нулевыми отсчетами по отсутствующим секундам интервала.
Давно пора взяться за эту тему да знаний пока не хватает по обработке звука в Qt.Последний раз редактировалось UA3DJY; 25.01.2017 в 22:31.
-
26.01.2017, 10:52 #4514
Интрига...
UR7TT
-
26.01.2017, 11:39 #4515
Социальные закладки