0

アプリケーションがバックグラウンド モードになっている間、リアルタイムの PCM ストリームを再生できるオーディオ プレーヤーを実装しています。これまでに試したすべてのソリューション (XAudio2、IAudioClient2) は、アプリがバックグラウンドになるとすぐに再生を停止します。どんな助けでも感謝します。ありがとう。

4

2 に答える 2

0

私はこれが可能であるべきだと確信しています..それはWP7にあるので、なぜWin8が不可能なのかわかりません. クイック検索により、ビルド (はいビルド) へのリンクがあるhttp://blogs.msdn.com/b/windowsappdev/archive/2012/05/16/being-productive-when-your-app-is-offscreen.aspxが生成されますバックグラウンドオーディオに。

WinRT c# サンプルへのリンクは次のとおりですhttp://code.msdn.microsoft.com/windowsapps/Background-Audio-in-WinRT-344bcf4d

バックグラウンド オーディオを実行するようにメディア要素を構成するのがいかに簡単かを示す別のもの http://babaandthepigman.wordpress.com/2012/03/17/metro-background-audio-c-consumer-preview/

于 2013-02-18T13:55:19.000 に答える
0

AudioCategory=BackgroundCapable プロパティで MediaElement を使用する必要があります。XAML ページでインスタンス化する必要があります。

このスタイルをルート フレームに適用します。

<Style  x:Key="RootFrameStyle" TargetType="Frame">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="Frame">
                <Grid>
                    <MediaElement x:Name="MediaPlayer" AudioCategory="BackgroundCapableMedia" AutoPlay="True"  />
                    <ContentPresenter />
                </Grid>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

そして、次のようにメディアを再生できます。

var rootGrid = VisualTreeHelper.GetChild(Window.Current.Content, 0);    
var mediaElement = (MediaElement)VisualTreeHelper.GetChild(rootGrid, 0);

mediaElement.Source = new Uri("ms-appx:///relative/path/to/file.mp3");

次に、アプリ マニフェストでアプリがバックグラウンド オーディオに対応していることを宣言する必要があります。

私のブログの完全な説明: http://rikk.it/2012/10/background-audio-in-a-metro-c-sharp-app/

于 2013-02-18T14:46:50.627 に答える