MeidaStreamTrack是媒體流的一部分
//它的兩種狀態(tài)分別是工作狀態(tài)和結(jié)束狀態(tài)
public enum State { LIVE, ENDED }
// 構(gòu)造方法,在創(chuàng)建MediaStream的時(shí)候,需要傳入一個(gè)nativeTrack
final long nativeTrack;
public MediaStreamTrack(long nativeTrack) {
this.nativeTrack = nativeTrack;
}
//這里面的方法和native層的方法是一一對(duì)應(yīng)的
//獲取Id
public String id() {
return nativeId(nativeTrack);
}
//獲取類別
public String kind() {
return nativeKind(nativeTrack);
}
//獲取是否被mute
public boolean enabled() {
return nativeEnabled(nativeTrack);
}
//mute或者取消
public boolean setEnabled(boolean enable) {
return nativeSetEnabled(nativeTrack, enable);
}
//獲取當(dāng)前的狀態(tài)
public State state() {
return nativeState(nativeTrack);
}
//釋放掉
public void dispose() {
free(nativeTrack);
}
private static native String nativeId(long nativeTrack);
private static native String nativeKind(long nativeTrack);
private static native boolean nativeEnabled(long nativeTrack);
private static native boolean nativeSetEnabled(long nativeTrack, boolean enabled);
private static native State nativeState(long nativeTrack);
private static native void free(long nativeTrack);