0

私には2つのことがAudioStreamerあり、ここでいくつかの手がかりを得られることを願っています:

1.を設定し、UITabBarControllerその中にAppdelegate-ObjectAudioStreamerを設定しました。を参照する 2 つのビューがありappDelegate.streamerます。リリースして新しく割り当てると、2つのセッションが取得されるようです。2 つの実行中の audiosession を取得します。

2.UITableViewこのリストから再生するために a を使用します。didSelectRowAtIndexPath-method では、URL で初期化します。ユーザーが高速のダブルクリックまたはトリプルクリックでタップしたとき。オーディオセッションは 3 回開始されます。私はboolそれを防ぐためにを使用していますが。したがって、私の汚い解決策は、システムを 1 秒間スリープ状態にすることです。画面が一瞬フリーズするので見苦しいです。

いくつかのヒントをありがとう

サイモン

4

2 に答える 2

0

2点目。AudioStreamer クラスのバグです。また、これは解決されており、コードはgitHub に掲載されています。リンクを参照してください。また、これが機能していないように見える場合は、一時停止メソッドに移動して、以下のように状態を追加できます

-(void)pause
{
    if (state==AS_PLAYING || state==AS_BUFFERING || state==AS_WAITING_FOR_DATA)
    {
       //rest code goes same....
    }
    // rest code goes same....
}

これは私の同じ問題を解決しました。これがあなたにも役立つことを願っています...

于 2011-09-23T07:23:54.293 に答える
0

問題に関しては、AudioSteamer をシングルトンとして実装する必要があるようです。これにより、複数のインスタンスが作成されなくなり、再生を制御するための単一のポイントが提供されます (つまり、複数のタップが複数の再生をトリガーするのを防ぎます)。

シングルトン クラスの作成方法の詳細については、Apple のCocoa Fundamentals Guide内の「Creating a Singleton Instance」セクションを参照してください。

于 2010-12-12T13:06:47.630 に答える