# shuvi-lib

> YouTube IFrame Player APIをゆるふわにラッピングしたライブラリ「shuvi-lib」

Latest version **1.0.6** (published 2017-05-16) · MIT license · 0 weekly downloads

## Install

```sh
npm install shuvi-lib
pnpm add shuvi-lib
yarn add shuvi-lib
bun add shuvi-lib
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.6 |
| Published | 2017-05-16 |
| First published | 2017-05-14 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | yuki540 |
| Maintainers | yuki540 |
| Keywords | shuvi-lib, Shuvi |

## Links

- npm: https://www.npmjs.com/package/shuvi-lib
- Repository: https://github.com/yuki540net/shuvi-lib
- Homepage: https://github.com/yuki540net/shuvi-lib#readme
- Issues: https://github.com/yuki540net/shuvi-lib/issues
- npm.io page: https://npm.io/package/shuvi-lib

## Recent versions

- 1.0.6 (latest) — 2017-05-16
- 1.0.5 — 2017-05-16
- 1.0.3 — 2017-05-15
- 1.0.2 — 2017-05-15
- 1.0.1 — 2017-05-15
- 1.0.0 — 2017-05-15
- 0.0.2 — 2017-05-14
- 0.0.1 — 2017-05-14

## README

# shuvi-lib
shuvi-libは、YouTube IFrame Player APIをゆるふわにラッピングしたライブラリです。

![shuvi-lib](./__sample__/shuvi-lib.jpg)

- shuvi-libについての紹介ページ
  - [Qiita - YouTube IFrame Player APIをゆるふわにラッピングしてみた。](http://qiita.com/yuki540/items/f75bd52a0ddabe9a06bd)
  - [はてなブログ - YouTube IFrame Player APIをゆるふわにラッピングしてみた。](http://yuki540.hatenablog.jp/entry/2017/05/15/YouTube_IFrame_Player_API%E3%82%92%E3%82%86%E3%82%8B%E3%81%B5%E3%82%8F%E3%81%AB%E3%83%A9%E3%83%83%E3%83%94%E3%83%B3%E3%82%B0%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F%E3%80%82)
- 開発者
  - yuki540
  - [Twitter - @eriri_jp](https://twitter.com/eriri_jp)
  - [HP - yuki540.com](http://yuki540.com)

## Download
shuvi-libの使う方法はいくつかあります。

一つ目は、[GitHubページ](https://github.com/yuki540net/shuvi-lib)からダウンロードして自分のプロジェクトに置き、使う方法。

二つ目は、shuvi-libはnpm上で公開されているので、

```
npm install shuvi-lib
```

のようにnpmコマンドを使ってプロジェクトに取り込む方法。

三つ目は、私、yuki540のサーバー経由でネットワーク越しにshuvi-libをプロジェクトに取り込む方法です。

```javascript
<script src="http://api.yuki540.com/shuvi-lib/v1/shuvi.lib.js"></script>
```

## Usage
shuvi-libを使えば、YouTube IFrame Player APIをより簡単に操作することが可能です。

shuvi.lib.jsを取り込み、下記のようにパラメータを渡し、newすれば、すぐにプレイヤーの操作が可能になります。

```javascript
let shuvi = new Shuvi({
  video_id : 'fQN2WC_Acpg',   // 動画ID
  id       : 'player',        // 要素のID
  width    : 500,             // 画面の幅
  height   : 300,             // 画面の高さ
  autoplay : ture,            // [option]自動再生（デフォルトはtrue）
  loop     : false            // [option]ループ（デフォルトはfalse）
})
```

npm経由の方は、requireを忘れずに。

```javascript
const Shuvi = require('shuvi-lib')
```

## Methods
shuvi-libは、できるだけシンプルでわかりやすいメソッド名にしています。

#### 動画URLから動画IDの取得
video_id = getId(url)
- [param]url: YouTubeの動画URL
- [return]video_id: 動画ID

#### イベントリスナの追加
shuvi.on(event, fn)
- [param]event: イベント名
- [param]fn: コールバック関数

#### 現在設定している動画IDの取得
shuvi.getVideoID()
- [return]video_id: 動画ID

#### 動画の変更
shuvi.change(video_id)
- [param]video_id: 動画ID

#### 再生
shuvi.play()

#### 停止
shuvi.pause()

#### ループの有無
shuvi.loop(bool)
- [param]bool: trueの場合、ループ有。falseの場合、ループ無。

デフォルトは、ループ無です。

#### 再生位置の移動
shuvi.seek(per)
- [param]per: 0~1の数値

#### 動画の総時間
duration = shuvi.duration()
- [return]duration: 動画の総時間

#### 現在の再生時間
current = shuvi.current()
- [return]current: 現在の再生時間

#### 動画の読み込み状況
buffer = shuvi.buffer()
- [return]buffer: 動画の読み込み具合（0~1）

#### 音量の取得
volume = getVolume()
- [return]volume: 0~1の値

#### 音量の設定
shuvi.setVolume(volume)
- [param]volume: 0~1の値

#### サイズの変更
shuvi.resize(width, height)
- [param]width: 画面の幅
- [param]height: 画面の高さ

## Events
shuvi-libは、プレイヤーの動作ごと挙動をイベントとして呼び出されます。

- load
  - 動画の起動読み込み終了時に呼び出されます。
- error
  - 動画の読み込み・再生の失敗時に呼び出されます。
- change
  - 動画の変更時に呼び出されます。
  - 初回の動画の時には、発火されません。
- play
  - 動画再生時に呼び出されます。
- pause
  - 動作停止時に呼び出されます。
- seek
  - 動画の再生時間が変更されるたびに呼び出されます。
- end
  - 動画の再生が終了時に呼び出されます。

## Lisence
このライブラリは、MIT Lisenceのもとで公開されています。

---
_Source: https://npm.io/package/shuvi-lib · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
