2008-08-27 63 views

回答

2

是啊 - 從某種意義上說,你們都是自問和回答問題......但這是我能想到的兩種選擇之一。可能成爲問題的原因是,您失去了從MediaElement控件獲得的某些功能/控件。另一種選擇是這樣做的:

  1. 將您的MediaElement添加到您的頁面。
  2. 在它上面繪製矩形,並設置想要的圓角半徑
  3. 右鍵單擊矩形中混合,然後選擇「創建剪貼路徑」
  4. 應用剪切路徑到您的MediaElement

這樣,你'仍然使用MediaElement控件,但是您可以「剪輯」您想要獲得所需圓角效果的任何內容。

此示例顯示了剪輯的MediaElement。我知道繪製矢量路徑並不容易,但如果在Blend中打開它,您將看到一個四捨五入的MediaElement。

<MediaElement 
     Height="132" Width="176" Source="Egypt2007.wmv" 
     Clip="M0.5,24.5 C0.5,11.245166 11.245166,0.5 24.5,0.5 L151.5,0.5 
       C164.75484,0.5 175.5,11.245166 175.5,24.5 L175.5,107.5 C175.5, 
       120.75484 164.75484,131.5 151.5,131.5 L24.5,131.5 C11.245166, 
       131.5 0.5,120.75484 0.5,107.5 z"/> 
1

使用圓角矩形和的VideoBrush不會失去您在使用顯示MediaElement的任何功能/控制 - 因爲該元素必須是在XAML無論如何,你可以使用通常的播放/暫停控制它/停止方法,除了播放發生在矩形中。使用剪輯區域有點笨拙,因爲調整區域的難度較大。矩形更好,因爲您具有佈局的靈活性。

<MediaElement x:Name="myElement" Source="clip.wmv" Visibility="Collapsed"/> 
<Rectangle RadiusX="10" RadiusY="10" Width="640" Height="480"> 
    <Rectangle.Fill> 
     <VideoBrush Source="myElement" Stretch="Uniform"/> 
    </Rectangle.Fill> 
<Rectangle/> 
0

與剪輯路徑給你「硬」的邊緣 - 你也可以使用一個OpacityMask以及(雖然我想這需要更多的處理能力)。

0

試試這個

<Border CornerRadius="8" BorderBrush="Black" Background="Black" BorderThickness="3"> 
<MediaElement HorizontalAlignment="Center" VerticalAlignment="Top" Stretch="Fill" x:Name="Player" Source="/Assets/Videos/x.mp3" /> 
</Border> 
相關問題