MediaPlayer 類別

定義

提供媒體播放以用於繪製。

public ref class MediaPlayer : System::Windows::Media::Animation::Animatable
public class MediaPlayer : System.Windows.Media.Animation.Animatable
type MediaPlayer = class
    inherit Animatable
    interface DUCE.IResource
type MediaPlayer = class
    inherit Animatable
Public Class MediaPlayer
Inherits Animatable
繼承

範例

如何:使用 VideoDrawing 播放媒體

備註

雖然您可以在 Extensible Application Markup Language (XAML) 中宣告此類別的實例,但您無法在不使用程式碼的情況下載入和播放其媒體。 若要只在 XAML 中播放媒體,請使用 MediaElement 。 此外,如果您在 XAML 中宣告實例,唯一實用的用途是填滿屬性的屬性 Player 元素語法。

在隨著您的應用程式散發媒體時,您無法使用媒體檔案做為專案資源。 在您的專案檔中,您必須改為將媒體類型設定為 Content,並將 CopyToOutputDirectory 設定為 PreserveNewestAlways

MediaPlayer 可以用於兩種不同的模式,視驅動玩家的方式而定:獨立模式或時鐘模式。 在獨立模式中 MediaPlayer ,類似于透過 方法磁片磁碟機播放開啟的 Open 影像和媒體。 在時鐘模式中 MediaPlayer ,可以視為動畫的目標,因此它會在控制播放的計時樹狀結構中具有對應的 TimelineClock 專案。 如需媒體模式的詳細資訊,請參閱 多媒體概觀

MediaPlayer 不同于 MediaElement ,它不是可以直接新增至應用程式使用者介面 (UI) 控制項。 若要顯示使用 MediaPlayer 載入的媒體, VideoDrawing 必須使用 或 DrawingContext

建構函式

MediaPlayer()

初始化 MediaPlayer 類別的新執行個體。

屬性

Balance

取得或設定左邊和右邊喇叭音量的平衡。

BufferingProgress

取得資料流內容緩衝完成的百分比。

CanFreeze

取得值,指出是否可以將物件設為不可修改。

(繼承來源 Freezable)
CanPause

取得值,這個值表示媒體是否可暫停。

Clock

取得或設定與要播放之 MediaClock 關聯的 MediaTimeline

DependencyObjectType

DependencyObjectType取得包裝這個實例之 CLR 型別的 。

(繼承來源 DependencyObject)
Dispatcher

取得與這個 Dispatcher 關聯的 DispatcherObject

(繼承來源 DispatcherObject)
DownloadProgress

取得下載遠端伺服器上之內容時的下載進度百分比。

HasAnimatedProperties

取得值,這個值表示是否有一個或多個 AnimationClock 物件與這個物件的任何一個相依性屬性相關聯。

(繼承來源 Animatable)
HasAudio

取得值,這個值表示媒體是否具有音訊輸出。

HasVideo

取得值,這個值表示媒體是否具有視訊輸出。

IsBuffering

取得值,這個值表示媒體是否正在緩衝。

IsFrozen

取得值,該值表示物件目前是否可修改。

(繼承來源 Freezable)
IsMuted

取得值,這個值表示媒體是否為靜音。

IsSealed

取得值,這個值表示此執行個體目前是否已密封 (唯讀)。

(繼承來源 DependencyObject)
NaturalDuration

取得媒體的自然持續期間。

NaturalVideoHeight

取得視訊的像素高度。

NaturalVideoWidth

取得視訊的像素寬度。

Position

取得或設定媒體的目前位置。

ScrubbingEnabled

取得或設定值,這個值表示是否啟用清除。

Source

取得媒體的 Uri

SpeedRatio

取得或設定媒體的播放速率。

Volume

取得或設定媒體的磁碟區。

方法

ApplyAnimationClock(DependencyProperty, AnimationClock)

AnimationClock 套用至指定的 DependencyProperty。 如果屬性已有動畫效果,即使用 SnapshotAndReplace 遞移式行為。

(繼承來源 Animatable)
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)

AnimationClock 套用至指定的 DependencyProperty。 如果已建立屬性的動畫,則會使用指定的 HandoffBehavior

(繼承來源 Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline)

將動畫套用至指定的 DependencyProperty。 呈現下一個畫面格後,就會啟動動畫。 如果指定的屬性已有動畫效果,即使用 SnapshotAndReplace 遞移式行為。

(繼承來源 Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior)

將動畫套用至指定的 DependencyProperty。 呈現下一個畫面格後,就會啟動動畫。 如果已建立指定之屬性的動畫,則會使用指定的 HandoffBehavior

(繼承來源 Animatable)
CheckAccess()

判斷呼叫的執行是否可以存取這個 DispatcherObject

(繼承來源 DispatcherObject)
ClearValue(DependencyProperty)

清除屬性的區域數值。 要清除的屬性是由 DependencyProperty 識別項所指定。

(繼承來源 DependencyObject)
ClearValue(DependencyPropertyKey)

清除唯讀屬性的區域數值。 要清除的屬性是由 DependencyPropertyKey 所指定。

(繼承來源 DependencyObject)
Clone()

建立這個 Animatable的可修改複製品,製作這個物件值的深層複本。 當複製這個物件的相依性屬性時,這個方法會複製資源參考和資料繫結 (Data Binding) (但可能已不再解析),但不會複製動畫或其目前值。

(繼承來源 Animatable)
CloneCore(Freezable)

使這個執行個體成為指定之 MediaPlayer 的深層複本。 當複製相依性屬性時,這個方法會複製資源參考和資料繫結 (但可能無法再解析),但不會複製動畫或它們目前的值。

CloneCurrentValue()

使用 Freezable 的目前值,建立它的可修改複製品 (深層複本)。

(繼承來源 Freezable)
CloneCurrentValueCore(Freezable)

使用目前的屬性值,讓這個執行個體成為指定的 MediaPlayer 之可修改深層複本。 不會複製資源參考、資料繫結和動畫,但是會複製其目前值。

Close()

關閉基礎媒體。

CoerceValue(DependencyProperty)

強制轉型所指定相依性屬性的值。 完成方式是叫用存在於呼叫 DependencyObject 之相依性屬性的屬性中繼資料中所指定的任何 CoerceValueCallback 函式。

(繼承來源 DependencyObject)
CreateInstance()

初始化 Freezable 類別的新執行個體。

(繼承來源 Freezable)
CreateInstanceCore()

建立新的 MediaPlayer 執行個體。

Equals(Object)

判斷提供的 DependencyObject 和目前的 DependencyObject 是否相等。

(繼承來源 DependencyObject)
Freeze()

將目前的物件設為不可修改,並將其 IsFrozen 屬性設定為 true

(繼承來源 Freezable)
FreezeCore(Boolean)

將這個 Animatable 物件設定為不可修改,或決定是否可以將它設定為不可修改。

(繼承來源 Animatable)
GetAnimationBaseValue(DependencyProperty)

傳回指定之 DependencyProperty 的非動畫實值。

(繼承來源 Animatable)
GetAsFrozen()

使用基底 (非動畫) 屬性值,建立 Freezable 的凍結複本。 因為複本已凍結,所以會以傳址方式複製任何凍結子物件。

(繼承來源 Freezable)
GetAsFrozenCore(Freezable)

使這個執行個體成為指定之 MediaPlayer 物件的複製。

GetCurrentValueAsFrozen()

使用目前屬性值,建立 Freezable 的凍結複本。 因為複本已凍結,所以會以傳址方式複製任何凍結子物件。

(繼承來源 Freezable)
GetCurrentValueAsFrozenCore(Freezable)

將目前執行個體設為所指定 Freezable 的凍結複本。 如果物件具有動畫相依性屬性,則會複製其目前的動畫值。

(繼承來源 Freezable)
GetHashCode()

取得這個 DependencyObject 的雜湊碼。

(繼承來源 DependencyObject)
GetLocalValueEnumerator()

建立特定的列舉值,以判斷哪些相依性屬性在此 DependencyObject 上具有本機設定的值。

(繼承來源 DependencyObject)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
GetValue(DependencyProperty)

傳回 DependencyObject 的這個執行個體上之相依性屬性的目前有效值。

(繼承來源 DependencyObject)
InvalidateProperty(DependencyProperty)

重新評估指定相依性屬性的有效值。

(繼承來源 DependencyObject)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
OnChanged()

目前的 Freezable 物件遭到修改時進行呼叫。

(繼承來源 Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

確定已為剛剛設定的 DependencyObjectType 資料成員,建立適當的內容指標。

(繼承來源 Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

此成員支援Windows Presentation Foundation (WPF) 基礎結構,而且不適合直接從程式碼使用。

(繼承來源 Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

覆寫 OnPropertyChanged(DependencyPropertyChangedEventArgs)DependencyObject 實作也可以叫用任何 Changed 處理常式,以回應類型 Freezable 的變更相依性屬性。

(繼承來源 Freezable)
Open(Uri)

開啟指定的 Uri 以用於媒體播放。

Pause()

暫停媒體播放。

Play()

從目前的 Position 播放媒體。

ReadLocalValue(DependencyProperty)

傳回相依性屬性的區域值 (如果存在)。

(繼承來源 DependencyObject)
ReadPreamble()

確定 MediaPlayer 是從有效的執行緒進行存取。

SetCurrentValue(DependencyProperty, Object)

設定相依性屬性的值,而不需要變更其值來源。

(繼承來源 DependencyObject)
SetValue(DependencyProperty, Object)

設定相依性屬性的區域值 (由相依性屬性的識別碼所指定)。

(繼承來源 DependencyObject)
SetValue(DependencyPropertyKey, Object)

設定唯讀相依性屬性的區域數值 (由相依性屬性的 DependencyPropertyKey 識別項所指定)。

(繼承來源 DependencyObject)
ShouldSerializeProperty(DependencyProperty)

傳回值,這個值表示序列化程序是否應該序列化所提供相依性屬性的值。

(繼承來源 DependencyObject)
Stop()

停止媒體播放。

ToString()

傳回代表目前物件的字串。

(繼承來源 Object)
VerifyAccess()

請強制執行可以存取這個 DispatcherObject 的呼叫執行緒。

(繼承來源 DispatcherObject)
WritePostscript()

引發 FreezableChanged 事件,並叫用其 OnChanged() 方法。 在任何 API 修改未以相依性屬性儲存的類別成員之後,衍生自 Freezable 的類別應該在 API 的結尾呼叫這個方法。

(繼承來源 Freezable)
WritePreamble()

確認 MediaPlayer 未凍結,而且是從有效的執行緒內容進行存取。

事件

BufferingEnded

當緩衝完成時發生。

BufferingStarted

當緩衝啟動時發生。

Changed

發生於 Freezable 或所含的物件遭到修改時。

(繼承來源 Freezable)
MediaEnded

媒體完成播放時發生。

MediaFailed

遇到錯誤時發生。

MediaOpened

媒體開啟時發生。

ScriptCommand

在媒體中遇到指令碼命令時發生。

適用於

另請參閱