1

特定のアイテムがテーブル ビューで選択されているときに、MediaPlayer フレームワークを使用して xcode でビデオを再生したいと考えています。現在までのコードを以下に配置しましたが、ここからどこに進むべきかわかりません。具体的には、リスト ビュー アイテムを URL に関連付ける方法がわかりません。

//  ViewController.m
//  Test
//


#import "ViewController.h"

@implementation ViewController
@synthesize tableData;


- (void)viewDidLoad
{

    tableData = [[NSArray alloc] initWithObjects:@"Bacon", @"Banana", @"Big", @"Billious", nil];

    [super viewDidLoad];
}

#pragma mark - TableView Data Source Methods

- (NSInteger)tableView:(UITableView *)tableView
    numberOfRowsInSection:(NSInteger)section
{
    return [tableData count];
}

- (UITableViewCell *)tableView:(UITableView *)tableView
    cellForRowAtIndexPath:(NSIndexPath *)indexPath

{
    UITableViewCell *cell = nil;

    cell = [tableView dequeueReusableCellWithIdentifier:@"MyCell"];

    if (cell == nil)
    {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"MyCell"];
    }

    cell.textLabel.text = [tableData objectAtIndex:indexPath.row];

    return cell;

}

#pragma mark - TableView Delegate Methods

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

{

    NSString *moviePath = @"http://specified URL";
    MPMoviePlayerController *theMovie = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL URLWithString:moviePath]];
    [theMovie play];
    MPMoviePlayerViewController *moviePlayer = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL URLWithString:moviePath]];
    [self presentMoviePlayerViewControllerAnimated:moviePlayer];


}


- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end
4

1 に答える 1

0

配列 tabledata には url がないため、 にはurlStringobjectAtIndex:indexPath.row含まれていません。特定の要素のURLを取得してから、moviePath で使用してみてください。

NSURL *url= [NSURL URLWithString:@"http://www.xyz.com/video/x109z02"];
theMoviPlayer = [[MPMoviePlayerController alloc] initWithContentURL:url];
theMoviPlayer.scalingMode = MPMovieScalingModeFill;
theMoviPlayer.view.frame = CGRectMake(0, 60, 320, 350);
[self.view addSubview:theMoviPlayer.view];
[self.theMoviPlayer play];

また、フレームワークを追加してから、ヘッダー ファイルにインポートします。

于 2013-05-29T06:47:23.490 に答える