1.1.1 • Published 6 years ago

@sygnas/audio-src v1.1.1

Weekly downloads
1
License
MIT
Repository
github
Last release
6 years ago

syg-audio-src

Check user environment and set HTML5 Audio from HDS / HLS / MSE ユーザー環境をチェックして、HDS / HLS / MSE のソースを HTML5 Audio にセットする。

Description

HTML5 の new Audio() にオーディオソースをセットするだけのモジュールです。 再生コントロールはしません。

MSE形式(MPEG-DASH)を使う場合は dash.js が必要。

Install

npm install --save @sygnas/audio-src

Javascript

共通部分

import AudioSrc from '@sygnas/audio-src';
const audio_src = new AudioSrc();

mp3/ogg 形式で非ストリーミング

audio_src.set_src("hoge.mp3", ardio_src.TYPE_FILE);

HDS形式ストリーミング

http://stm.foo.bar/abcd1234.mp4/manifest.f4m というプレイリストにアクセスしてストリーミングする場合。

if(audio_src.check_support()) {
    audio_src.set_src(
        "stm.foo.bar/abcd1234.mp4",
        ardio_src.TYPE_HDS
    );
}

ストリーミング形式を自動選択

下記3種類が用意されていて、環境に合わせたタイプを自動的に選択する場合。

HDS形式:http://stm.foo.bar/abcd1234.mp4/manifest.f4m HLS形式:http://stm.foo.bar/abcd1234.mp4/playlist.m3u8 MSE形式:http://stm.foo.bar/abcd1234.mp4/manifest.mpd

if(audio_src.check_support()) {
    audio_src.set_src("stm.foo.bar/abcd1234.mp4");
}

オーディオを再生

Audio の再生制御はしないので、他のライブラリなどで個々に実装する必要がある。

audio_arc.audio.load();
audio_arc.audio.play();

Options

new SetAudio({
    hds: {
        protcol: 'http://',
        playlist: '/hoge.f4m',
    }
});
パラメータデフォルト備考
hds{protcol: 'http://', playlist: '/manifest.f4m'}HDS形式で使用するプロトコルと、プレイリスト
hls{protcol: 'http://', playlist: '/playlist.m3u8'}HLS形式で使用するプロトコルと、プレイリスト
mse{protcol: 'http://', playlist: '/manifest.mpd', autoplay: false}MSE形式で使用するプロトコルと、プレイリスト、自動再生するか

Property

audio {Audio}

HTML5 Audio。

dash_player {dashjs}

dash.js のインスタンス。

is_support_hds {Boolean}

HDSを再生できるか。

is_support_hls {Boolean}

HLSを再生できるか。

is_support_mse {Boolean}

MedisSourceExtensionに対応しているか。

now_type {String}

ソースとして設定されたタイプ。TYPE_HDS ... TYPE_FILE などが入る。

Methods

check_support()

サポートする環境をチェック。非ストリーミングの場合は関係ない。

戻り値:{Boolean} true: チェック完了 / false: 対象外環境

set_src(url, type = null)

オーディオソースを渡してHTML5 Audioにセットする

引数備考
urlStringmp3/ogg など非ストリーミングの場合はファイルのURL
typeStringストリーミング、非ストリーミングのタイプを指定する

url

ストリーミングの場合は http://{この部分}//manifest.f4m をベースURLとして渡す。

type

非ストリーミングの場合は TYPE_FILE を必ず指定。 無指定の場合は環境に合わせたタイプが使用される。

引数備考
{instance}.TYPE_FILE非ストリーミング
{instance}.TYPE_HLSHLS形式
{instance}.TYPE_HDSHDS形式
{instance}.TYPE_MSEMSE形式
if(audio_src.check_support()) {
    audio_src.set_src(
        "stm.foo.bar/abcd1234.mp4",
        ardio_src.TYPE_HDS
    );
}

License

MIT