2012-06-25 114 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类,尽管我不认为它支持流式传输。