aboutsummaryrefslogtreecommitdiff
path: root/files/ru/web/api/body/arraybuffer/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/ru/web/api/body/arraybuffer/index.html')
-rw-r--r--files/ru/web/api/body/arraybuffer/index.html90
1 files changed, 0 insertions, 90 deletions
diff --git a/files/ru/web/api/body/arraybuffer/index.html b/files/ru/web/api/body/arraybuffer/index.html
deleted file mode 100644
index a9dbd21162..0000000000
--- a/files/ru/web/api/body/arraybuffer/index.html
+++ /dev/null
@@ -1,90 +0,0 @@
----
-title: Body.arrayBuffer()
-slug: Web/API/Body/arrayBuffer
-tags:
- - API
- - Экспериментальный
- - справочник
-translation_of: Web/API/Body/arrayBuffer
----
-<div>{{APIRef("Fetch")}}</div>
-
-<p>Метод <strong><code>arrayBuffer()</code></strong> из примеси(mixin) {{domxref("Body")}} берёт поток(stream) {{domxref("Response")}} и читает его до завершения. Он возвращает промис, который будет успешно завершён с помощью {{domxref("ArrayBuffer")}}.</p>
-
-<h2 id="Синтаксис">Синтаксис</h2>
-
-<pre class="brush: js">response.arrayBuffer().then(function(buffer) {
- // можно сделать что либо с буфером
-});</pre>
-
-<h3 id="Параметры">Параметры</h3>
-
-<p>Нат параметров.</p>
-
-<h3 id="Возвращаемое_значение">Возвращаемое значение</h3>
-
-<p>Промис, который содержит {{domxref("ArrayBuffer")}}.</p>
-
-<h2 id="Пример">Пример</h2>
-
-<p>В нашем примере <a href="http://mdn.github.io/fetch-examples/fetch-array-buffer/">живой загрузки с array buffer</a> есть кнопка Play. При нажатии на кнопку вызывается функция <code>getData()</code>. Стоит учесть что до проигрывания аудио файл будет скачан целиком. Если вам необходимо начать воспроизведение файла ogg во время загрузки (стримить аудио) - то лучше рассмотреть  {{domxref("HTMLAudioElement")}}:</p>
-
-<pre class="brush: js">new Audio(music.ogg).play()
-</pre>
-
-<p>В функции <code>getData()</code> мы создаём новый запрос используя конструктор {{domxref("Request.Request")}}, после этого используем его чтобы загрузить OGG звук. Мы также используем {{domxref("AudioContext.createBufferSource")}} чтобы создать ресурс аудиобуффера. При успешном завершении запроса, мы считываем {{domxref("ArrayBuffer")}} из ответа используя <code>arrayBuffer()</code>, декодируем аудио с помощью {{domxref("AudioContext.decodeAudioData")}}, устанавливаем раскодированные данные как ресурс аудио буфера (<code>source.buffer</code>), затем используем данные этого ресурса в  {{domxref("AudioContext.destination")}}.</p>
-
-<p>Когда функция <code>getData()</code> заканчивает своё выполнение, мы стартуем проигрывание аудио ресурса функцией <code>start(0)</code>, потом блокируем кнопку проигрывания для предотвращения повторного проигрывания (это может привести к ошибкам)</p>
-
-<pre class="brush: js">function getData() {
- source = audioCtx.createBufferSource();
-
- var myRequest = new Request('viper.ogg');
-
- fetch(myRequest).then(function(response) {
- return response.arrayBuffer();
- }).then(function(buffer) {
- audioCtx.decodeAudioData(buffer, function(decodedData) {
- source.buffer = decodedData;
- source.connect(audioCtx.destination);
- });
- });
-};
-
-// навешиваем обработчики старт и стоп на кнопку
-play.onclick = function() {
- getData();
- source.start(0);
- play.setAttribute('disabled', 'disabled');
-}</pre>
-
-<h2 id="Спецификация">Спецификация</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">Спецификация</th>
- <th scope="col">Статус</th>
- <th scope="col">Комментарии</th>
- </tr>
- <tr>
- <td>{{SpecName('Fetch','#dom-body-arraybuffer','arrayBuffer()')}}</td>
- <td>{{Spec2('Fetch')}}</td>
- <td> </td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Поддержка_браузерами">Поддержка браузерами</h2>
-
-
-
-<p>{{Compat("api.Body.arrayBuffer")}}</p>
-
-<h2 id="Смотрите_также">Смотрите также</h2>
-
-<ul>
- <li><a href="/en-US/docs/Web/API/ServiceWorker_API">ServiceWorker API</a></li>
- <li><a href="/en-US/docs/Web/HTTP/Access_control_CORS">HTTP access control (CORS)</a></li>
- <li><a href="/en-US/docs/Web/HTTP">HTTP</a></li>
-</ul>