📜  HTML | DOM 音频 networkState 属性(1)

📅  最后修改于: 2023-12-03 14:41:51.906000             🧑  作者: Mango

HTML | DOM 音频 networkState 属性

简介

networkState是JavaScript中HTML DOM音频对象的属性之一,它返回音频当前的网络状态。

网络状态是描述音频从网络获取数据时的状态。 一个音频的networkState属性可以是以下的值:

  • 0(NETWORK_EMPTY): 音频尚未初始化
  • 1(NETWORK_IDLE): 音频未载入
  • 2(NETWORK_LOADING): 音频正在加载
  • 3(NETWORK_NO_SOURCE): 未找到音频源
语法

以下是获取networkState属性的语法:

audio.networkState
用法

要获取音频networkState属性的值,请在HTML DOM中使用audi.networkState,并将其指派给一个变量,如下所示:

var audio = document.getElementById("myAudio");
var state = audio.networkState;

此时state变量将会保存当前音频的网络状态。

示例代码

以下HTML代码演示networkState属性的使用:

<!DOCTYPE html>
<html>
<body>

<audio id="myAudio" controls>
  <source src="song.mp3" type="audio/mpeg">
  <source src="song.ogg" type="audio/ogg">
  Your browser does not support the audio element.
</audio>

<p>Click the "Get State" button to display the network state of the audio.</p>

<button onclick="getState()">Get State</button>

<p id="demo"></p>

<script>
function getState() {
  var audio = document.getElementById("myAudio");
  var state;
  switch (audio.networkState) {
    case 0:
      state = "NETWORK_EMPTY";
      break;
    case 1:
      state = "NETWORK_IDLE";
      break;
    case 2:
      state = "NETWORK_LOADING";
      break;
    case 3:
      state = "NETWORK_NO_SOURCE";
      break;
    default:
      state = "UNKNOWN";
  }
  document.getElementById("demo").innerHTML = "Network state: " + state;
}
</script>

</body>
</html>

当点击按钮时,将显示音频的网络状态。

结论

networkState属性是一个有用的属性,可以帮助开发者检查音频的网络状态,以确保正确加载音频。