私が作成しているWebサイトには、vimeoビデオが埋め込まれています。クライアントは、vimeoで見つけた人のために、ビデオのサウンドを明らかに保つ必要があります。しかし、彼女のウェブサイトにとって、音は単純に迷惑です。そのため、埋め込み用のコード内のオーディオをミュートする方法を見つける必要があります。私はそれをグーグルで調べましたが、読みやすいものを見つけることができないようです。以下のコードからわかるように、リンク内でautoplayコマンドを使用して、サウンドをミュートするために同様のことができると期待していました。
<iframe src="http://player.vimeo.com/video/4415083? title=0&byline=0&portrait=0&color=d01e2f&autoplay=1" width="500" height="281" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
ありがとう
それが誰かを助ける場合、 Vimeoは 'background'パラメータを追加しました 動画を埋め込むために、動画を静かに自動再生します。いくつかのケースでは、人々がビデオをミュートしたい場合に役立ちます-これはその例です:
<iframe src="https://player.vimeo.com/video/76979871?background=1"
width="500" height="281" frameborder="0" webkitallowfullscreen
mozallowfullscreen allowfullscreen></iframe>
vimeoでsetVolume
apiを使用します。player.api('setVolume', 0);
のようになります...
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="//f.vimeocdn.com/js/froogaloop2.min.js"></script>
<iframe id="vimeo_player" src="http://player.vimeo.com/video/4415083?title=0&byline=0&portrait=0&color=d01e2f&autoplay=1&player_id=vimeo_player" width="500" height="281" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
<script>
var iframe = $('#vimeo_player')[0],
player = $f(iframe),
status = $('.status');
player.addEvent('ready', function() {
player.api('setVolume', 0);
});
</script>
私は、運のない答えの例を試しました。ドキュメントを調べた後、パラメータ&player_id=IFRAME_ID
が欠落していることに気付きました。 Vimeo APIで何か変更されたのかもしれませんが、とにかく次の例が私にとってはうまくいきます:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="https://f.vimeocdn.com/js/froogaloop2.min.js"></script>
<iframe id="vimeo_player" src="//player.vimeo.com/video/4415083?api=1&player_id=vimeo_player&autoplay=1&loop=1&color=ffffff" width="1920" height="1080" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
<script>
$(function() {
var vimeo_iframe = $('#vimeo_player')[0];
var player = $f(vimeo_iframe);
player.addEvent('ready', function() {
player.api('setVolume', 0);
});
});
</script>
Vimeoが更新されたライブラリを提供しているようで、API構文は古いもの(Froogaloop)とは少し異なります。 JSで埋め込み動画をミュートする方法は次のとおりです。
<!--Add the id attr to the iframe tag to use as a selector-->
<iframe id="embeddedVideo" src="http://player.vimeo.com/video/4415083? title=0&byline=0&portrait=0&color=d01e2f&autoplay=1" width="500" height="281" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
<!--Include the Vimeo API Library-->
<script src="https://player.vimeo.com/api/player.js"></script>
<!--Select and manipulate your video-->
<script type="text/javascript">
//Select the #embeddedVideo element
var video = document.getElementById('embeddedVideo');
//Create a new Vimeo.Player object
var player = new Vimeo.Player(video);
//When the player is ready, set the volume to 0
player.ready().then(function() {
player.setVolume(0);
});
</script>
これが新しいライブラリを使用している人の助けになることを願っています。ドキュメントは vimeo/player.js にあります
muted
パラメーターを追加するだけです。例えば。:
<iframe src="https://vimeo.com/48400332?autoplay=1&loop=1&muted=1" ></iframe>
Vimeoによれば、background
パラメーターは有料メンバーがホストする動画でのみサポートされています。
ソース: https://help.vimeo.com/hc/en-us/articles/115004485728-Autoplaying-and-looping-embedded-videos
ここでの回答のほとんどはVimeoの古いAPIを参照しているためです。新しいAPIを使用した最も簡単な方法を次に示します。 CDNからvimeo player.jsを含めるか、ダウンロードするか、npmから含めることができます。
<script src="https://player.vimeo.com/api/player.js"></script>
または
npm install @ vimeo/player
その後、次のことができます。
<script>
var iframe = document.querySelector('iframe');
var player = new Vimeo.Player(iframe);
player.setVolume(0);
</script>
それでおしまい。また、angular 2+、
import * as Vimeo from '@vimeo/player';
const iframe = e.target;
const player = new Vimeo(iframe);
player.setVolume(0);
ここで、e.targetはテンプレートから渡される$ eventです。おそらくiframe(ロード)イベントかもしれません。または、jqueryを使用してiframeを選択できます。
**ここに私の解決策があります: http://jsfiddle.net/jakeoblivion/phytdt9L/5/
(独自の再生/一時停止ミュート/ミュート解除アイコンが必要です)
//load video muted
var video = $("#myvideo");
video.vimeo("play");
video.vimeo("setVolume", 0);
//toggle play/pause
$('#play-pause').click(function() {
$(this).toggleClass('play');
if ($(this).hasClass('play')) {
//pause video
video.vimeo("pause");
$(this).css('background', 'pink');
} else {
//unpause video
video.vimeo("play");
$(this).css('background', 'blue');
}
});
//toggle mute/unmute
$('#mute-unmute').click(function() {
$(this).toggleClass('mute');
if ($(this).hasClass('mute')) {
//unmute video
video.vimeo("setVolume", 1);
$(this).css('background', 'green');
} else {
//mute video
video.vimeo("setVolume", 0);
$(this).css('background', 'red');
}
});
年齢は試してみましたが、何もうまくいかないようでした。
デフォルトのコントロールではなく、シンプルなPlay/Pause Mute/UnmuteコントロールでVimeoの自動再生をミュート(ボリューム0)したかっただけです。 (私が置いた一時的な色の代わりにアイコンを自由に使用してください)。
(デフォルトのコントロールを元に戻してもミュートのままにしたい場合は、「?background = 1」を削除します。デフォルトではbackground = 1はvideo.vimeo( "setVolume"、0)を設定し、コントロールを非表示にします。 background = 1を設定せずに読み込みます)。
また、「ブラウザでファイルを直接開くのではなく、Webサーバーで実行する必要があります。JSセキュリティ制限により、ローカルで実行するとAPIが機能しなくなります。」
@Gadssの回答はうまく機能しますが、Vimeo APIのアクティベーションを含めるにはiframe srcを更新する必要があることがわかりました。 vimeo IDの後にapi = 1を含めるだけです。
また、これは何らかの理由でSafariで動作しない場合があることもわかっています。
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="//f.vimeocdn.com/js/froogaloop2.min.js"></script>
<iframe id="vimeo_player" src="http://player.vimeo.com/video/4415083?api=1&title=0&byline=0&portrait=0&color=d01e2f&autoplay=1" width="500" height="281" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
<script>
var iframe = $('#vimeo_player')[0],
player = $f(iframe),
status = $('.status');
player.addEvent('ready', function() {
player.api('setVolume', 0);
});
</script>
<iframe src="http://player.vimeo.com/video/4415083?muted=1; title=0;byline=0;portrait=0;color=d01e2f;autoplay=1" width="500" height="281" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
動画をミュートするために「muted = 1」を指定できます... chromeミュートされた動画の自動再生を許可します
これは私のために働いた唯一の方法です: http://jsfiddle.net/87dsjL8q/108/
var iframe = document.getElementsByTagName('iframe')[0];
var player = $f( iframe );
player.addEvent('ready', function() {
player.api('setVolume', 20);
});
挿入しようとします?muted=1
リンク後attribute src
例えば
<iframe id="vimeo_player" src="https://player.vimeo.com/video/257992348?muted=1">
私はそれを行う方法を見つけました。ビデオをミュートして開始して自動再生し、最初のtimeupdateでボリュームを1に設定します。
var options = {
id: 'video_id_here',
width: 640,
loop: false,
muted: true,
autoplay: true
};
var player = new Vimeo.Player('vimeo', options);
player.setVolume(0);
player.on('timeupdate', set_autoplay_volume );
function set_autoplay_volume(){
player.setVolume(1);
player.off('timeupdate', set_autoplay_volume );
}