2012-06-25 163 views
0

我將編寫一個應用程序,它將同時從HTTP流媒體服務器播放兩個音頻流。在開始之前,我想確定Windows Phone設備和API是否支持此功能。我想我將不得不使用MediaElement的兩個實例。任何想法或建議?同時播放兩個音頻流

編輯:我用下面的代碼試了一下,第一個站和第二個劇本,當我開始第二個,而第一個被打:

private void StopMedia1(object sender, RoutedEventArgs e) 
    { 
     media1.Stop(); 
    } 

    private void PauseMedia1(object sender, RoutedEventArgs e) 
    { 
     media1.Pause(); 
    } 

    private void PlayMedia1(object sender, RoutedEventArgs e) 
    { 
     media1.Play(); 
    } 

    private void StopMedia2(object sender, RoutedEventArgs e) 
    { 
     media2.Stop(); 
    } 

    private void PauseMedia2(object sender, RoutedEventArgs e) 
    { 
     media2.Pause(); 
    } 

    private void PlayMedia2(object sender, RoutedEventArgs e) 
    { 
     media2.Play(); 
    } 



<Grid> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="*" /> 
     <ColumnDefinition Width="*" /> 
     <ColumnDefinition Width="*"/> 
    </Grid.ColumnDefinitions> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="*" /> 
     <RowDefinition Height="Auto" /> 
    </Grid.RowDefinitions> 
    <MediaElement x:Name="media1" Source="1.mp3" Margin="0,151,0,359" /> 
    <MediaElement x:Name="media2" Source="2.mp3" Margin="0,154,3,359" Grid.Column="2" /> 
    <!-- Stops media playback.--> 
    <Button Click="StopMedia1" Content="Stop" Margin="6,449,24,244" /> 
    <!-- Pauses media playback. --> 
    <Button Click="PauseMedia1" Content="Pause" Margin="0,538,24,143" /> 
    <!-- Begins media playback. --> 
    <Button Click="PlayMedia1" Content="Play" Margin="0,649,0,47" /> 
    <Button Click="PauseMedia2" Content="Pause" Grid.ColumnSpan="2" Margin="154,524,6,169" Grid.Column="1" /> 
    <Button Click="PlayMedia2" Content="Play" Grid.Column="2" Margin="0,612,12,59" /> 
    <Button Click="StopMedia2" Content="Stop" Margin="18,429,12,264" Grid.Column="2" /> 
</Grid> 

在此先感謝。

+0

這很容易嘗試,是嗎? – Brad

+0

是的,我試過了,但沒有成功。第一個停止,當我開始第二個。 – burakk

回答

1

不,在Windows Phone 7/7.5中不能同時播放兩個MediaElement。 要做到這一點,你需要使用XNA的SoundEffect類,儘管我不認爲它支持流式傳輸。