0

この種の質問が何度も何度も浮かんでいることは知っていますが、見つけた答えでは問題を解決できませんでした:(。

アプリケーションを開発していますが、オーディオストリームをフェッチする必要があります。私はMPMoviePlayerを使うことにしたので、これを行いました:

#import "MediaPlayer/MediaPlayer.h"    
@interface FirstViewController : UIViewController <UITableViewDelegate, UITableViewDataSource> {
    ...     
    IBOutlet MPMoviePlayerViewController *theMovie;
    ...
}

...
@property (nonatomic, retain) MPMoviePlayerViewController *theMovie;

実装では、@synthesize-dを実行しました。

そして今、私がそれを割り当ててそのメンバーまたはメソッドにアクセスしようとすると、初期化後の最初の行のインスタンスに送信されるこのいまいましいエラーの認識されないセレクターを受け取ります:

self.theMovie = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL URLWithString:@"http://netvarp.kringvarp.fo:554/radio/16/playlist.m3u8"]];
self.theMovie.moviePlayer.controlStyle = MPMovieControlStyleNone;       
    ...

(これはviewDidLoadメソッドにあります)。

次の行にエラーが表示されます。

self.theMovie.moviePlayer.controlStyle = MPMovieControlStyleNone;

または、初期化後に呼び出すもの。

IBOutletを削除した場合、「self」なしで呼び出した場合、MPMoviePlayerControllerを宣言した場合も、同じことが言えます。2日間、自分が何を間違えているのかわからない!恥ずかしい:(

どんな助けでもありがたいです。

言及するのを忘れました、ターゲットOSは>3.0です。シミュレーターではすべて正常に動作しますが、デバイスでは動作しません(iPhone2GとiPhone3G、どちらもIOS 3.1.3を搭載)

4

2 に答える 2

5

クラッシュ出力を投稿する必要があります。unrecognized selectorたとえば、存在しないものを呼び出そうとしていることを意味します。

[self doSomethingSpecial];

doSomethingSpecialコントローラに存在しない場合は、認識されないセレクタがインスタンスに送信されます

于 2011-02-07T17:12:15.540 に答える
3

Appleのドキュメントにあるように、controlStyleはiOS3.2以降でのみ使用できます。

この方法は3.1.3デバイスでは使用できないため、これが問題になる可能性があると思いますが、シミュレーターでは使用できると思います(4.2.1)。

于 2011-02-07T16:26:22.837 に答える