Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 29.05.2015, 21:02
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Научно делается смещение

for (var j=0,i = 0,len=ints.length; i < len; i++) {
    res[i]=data[i+j];
    if(i==800)
        j=1800;
}


фигню написал, туго у меня с итерациями тоже, но принцип именно такой. Иначе у вас получится эквипенисуальная дыра в адресах результирующего файла. Если бы вы писали его в нормальной программе, в смысле.

Последний раз редактировалось kostyanet, 29.05.2015 в 21:05.
Ответить с цитированием
  #12 (permalink)  
Старый 29.05.2015, 21:13
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

В нормальных программах мы читаем файлы until end, и тут можно, вот так

for (var res=[], j=0, i=0, b; b=ints[i+j]; i++) {
    res[i]=b;
    if(i==800)
        j=1800;
}


Правда я не понял в чем тут сценарий пропустить кусок потока. Сценарий можно написать в массиве, откуда выбирать следующее значение смещения.
Ответить с цитированием
  #13 (permalink)  
Старый 29.05.2015, 21:51
Профессор
Отправить личное сообщение для Dimaz Посмотреть профиль Найти все сообщения от Dimaz
 
Регистрация: 25.12.2009
Сообщений: 222

Сообщение от laimas Посмотреть сообщение
Условия итерации значит не верны, не достигается конец данных.
Нет. Проблема в этом:
var ints = new Int8Array(dataView.byteLength-1800);

Я вычитаю 1800 байт из dataview, поэтому и пропадает. Надо не из исходника вычитать, а из нового созданного массива.
А вообще всё еще проще оказалось:
var buffer1 = reader.result.slice(0,328000);
var buffer2 = reader.result.slice(8551215);
var blob = new Blob([buffer1], {type: 'audio/mp3'});

Метод slice и не нужно никаких dataview и циклов. Мне же нужно просто скопировать данные, а dataview нужен для изменения данных, а не копирования.
Сообщение от laimas Посмотреть сообщение
Чем? Это надо или сесть самому и библиотеку написать или же взять готовую, а не выпендриваться по каждому поводу. ) Хостер ваш многое вам может наговорить, просто не хотят устанавливать, а кому мол надо чешитесь сами.
Например тем, что все обрезание происходит как я уже писал за доли секунды. В случае с сервером нужно сначала скачать файл из нета на комп, потом закачать его на сервак, потом обрезать, потом уже скачать обрезанный файл на комп.
В общем обрезание происходит успешно, файл после этого воспроизводится без проблем. Вопрос можно закрывать
Ответить с цитированием
  #14 (permalink)  
Старый 29.05.2015, 21:54
Профессор
Отправить личное сообщение для Dimaz Посмотреть профиль Найти все сообщения от Dimaz
 
Регистрация: 25.12.2009
Сообщений: 222

kostyanet,
спасибо) уже разобрался. причина выше
Ответить с цитированием
  #15 (permalink)  
Старый 30.05.2015, 02:05
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Dimaz
В случае с сервером нужно сначала скачать файл из нета на комп, потом закачать его на сервак, потом обрезать, потом уже скачать обрезанный файл на комп.
Это с чего вдруг? Можно подумать, что на локальный компьютер файл из интернета получать не надо? Север может и без посредника взять файл по сетевому ресурсу, сделать с ним что хочется, и либо сохранить эти нарезки, либо вернуть их пользователю... Достаточно серверу указать путь сетевой.

А обрезание успешное гарантируется только у евреев, они то знают что режут.
Ответить с цитированием
  #16 (permalink)  
Старый 30.05.2015, 13:18
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Интересно что происходит когда время скачивания с сервера превышает max_execution_time сервера?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как добавить данные в глобальный массив из функции Jigan2 jQuery 2 14.03.2015 18:06
как загрузить массив из файла satyr22 Internet Explorer 4 21.08.2011 21:04
Help ! Как загрузить данные по ссылке из таблицы1 в таблицу2 ? asked86 Общие вопросы Javascript 1 25.03.2009 21:06
Как узнать какие ошибки произошли при парсинге xml файла faunder Events/DOM/Window 0 12.09.2008 14:17
Возможно ли получить данные из файла на сервере? sdff Общие вопросы Javascript 11 19.07.2008 20:48