10

UIWebView を使用して、( HTML5 Video Tag を使用して) Web サイトから .mp4 ビデオを再生しようとしました。iPhone / iPad デバイスとシミュレーターには、再生ボタンが打ち消された黒いフレームのみが表示されます。Mac版Safariでこのサイトを呼び出しただけで再生可能です。どうしたの?

ローカルファイルではありません。html は次のようになります。

    <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta charset="utf-8" />
        <link rel="stylesheet" type="text/css" href="../css/shared-culture.css" />
    </head>
    <body>
        <section class="base">
            <hgroup>
                <h1>creative commons</h1>
                <h2>a shared culture</h2>
            </hgroup>

                <p>To celebrate our 2008 fundraising campaign, Creative Commons has
                    released “A Shared Culture,” a short video by renowned filmmaker <a
                        href="http://en.wikipedia.org/wiki/Jesse_Dylan">Jesse Dylan</a>. Known for
                    helming a variety of films, music videos, and the Emmy Award-winning <a
                        href="http://my.barackobama.com/page/invite/yeswecanvideo">“Yes We Can”&lt;/a>
                    Barack Obama campaign video collaboration with rapper will.i.am, Dylan created
                    “A Shared Culture” to help spread the word about the Creative Commons mission. </p>
                <!-- height="240" width="360" -->
                <video id="video1" controls="controls">
                    <source src="../video/shared-culture.mp4" type="video/mp4"/>
                    <source src="../video/shared-culture.webm" type="video/webm"/>
                    <div class="errmsg">
                        <p>Your Reading System does not support (this) video.</p>
                        <pre><code>
&lt;video id="video1" controls="controls"&gt;                    
  &lt;source src="../video/shared-culture.mp4" type="video/mp4"/&gt;
  &lt;source src="../video/shared-culture.webm" type="video/webm"/&gt;    
&lt;/video&gt;
                        </code></pre>
                    </div>
                </video>
                <p>In the video, some of the leading thinkers behind Creative Commons
                    describe how the organization is helping “save the world from failed sharing”
                    through free tools that enable creators to easily make their work available to
                    the public for legal sharing and remix. Dylan puts the Creative Commons system
                    into action by punctuating the interview footage with dozens of photos that have
                    been offered to the public for use under CC licenses. Similarly, he used two
                    CC-licensed instrumental pieces by Nine Inch Nails as the video’s soundtrack
                    music. These tracks, “17 Ghosts II” and “21 Ghosts III,” come from the Nine Inch
                    Nails album Ghosts I-IV, which was released earlier this year under a Creative
                    Commons BY-NC-SA license. (See <a
                        href="http://creativecommons.org/videos/a-shared-culture">attribution</a>.)
                </p>

        </section>

    </body>
</html>
4

7 に答える 7

10

iPhone に適した形式ではない可能性があります。

mp4 ファイルを iMovie にドラッグし、[共有] -> [ムービーをエクスポート] をクリックして、iPhone と互換性のある形式のいずれかを選択します。

于 2013-02-21T17:23:13.117 に答える
4

UIWebViewでビデオの再生に失敗する可能性がある方法の1つは、ビデオファイルをホストしているWebサーバーがバイト範囲をサポートしていない場合です。UIWebViewは、.mp4ファイル全体を一度にダウンロードするわけではありません。代わりに、ファイルの一部を要求することによってビデオをストリーミングします。最近のほとんどのサーバーはバイト範囲をサポートしていますが、サポートしていない場合、または何らかの理由でオフにした場合、iOSデバイスにビデオを提供することはできません。

于 2013-02-22T17:13:46.533 に答える
3

コーデックの問題のようです。コンピューターの VLC でファイルを開くと、ファイルが使用するコーデックを確認できます。[ウィンドウ] -> [メディア情報] -> [コーデックの詳細] に移動します。ここでの回答は、サポートされているビデオとオーディオのコーデックを見つけることができる Apple のドキュメントへのリンクです。

https://developer.apple.com/library/ios/#documentation/mediaplayer/reference/MPMoviePlayerController_Class/Reference/Reference.html

https://developer.apple.com/library/ios/#documentation/AudioVideo/Conceptual/MultimediaPG/UsingAudio/UsingAudio.html

于 2013-02-19T16:15:31.693 に答える
1

使用している相対../パスに問題がある可能性があります。完全な絶対パスを使用してみてください-で始まりhttp://ます。

于 2013-02-21T19:46:45.033 に答える
-1

iPhone プログラミングで mp4 ビデオを再生するのはそれほど難しくありません。追加のドラッグ アンド ドロップを 1 つ行うだけです。

新しいシングル ビュー プロジェクトを作成してください。次に、ViewController.m ファイルにこのコードをコピーして貼り付けます。

    #import "ViewController.h"

   @interface ViewController ()

   @end

   @implementation ViewController
   @synthesize webView;
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.

CGRect screenRect = [[UIScreen mainScreen] bounds];

CGFloat screenWidth = screenRect.size.width;
CGFloat screenHeight = screenRect.size.height;

webView=[[UIWebView alloc]initWithFrame:CGRectMake(0,  0,screenWidth,screenHeight)];


NSURL *url = [[NSBundle mainBundle] URLForResource:@"testingHTML" withExtension:@"html"];
NSLog(@"%@",url);
[self.webView loadRequest:[NSURLRequest requestWithURL:url]];



// NSURL *nsurl=[NSURL URLWithString:url];
//NSURLRequest *nsrequest=[NSURLRequest requestWithURL:nsurl];
// [webView loadRequest:nsrequest];
[self.view addSubview:webView];





}

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

@end

次に、testingHTML.html という名前の HTML ファイルを作成します。

HTMLファイルに次のコードをコピーして貼り付けます

<!DOCTYPE html>
<html>
<head></head>

<body>
  <center> <video width="250" height="304" controls preload>
        <source src="video1.mp4" type="video/mp4">
            </video> </center>

   <p>Thanks to Md Kamrul Hasan .....mdkamrul.hasan@marquette.edu</p>

   </body>
</html>

MP4 タイプのビデオを 2 つの場所にドラッグ アンド ドロップします。

最初に: ビデオを HDD からプロジェクト タブ [Xcode の左タブ] にドラッグします。2 番目: Xcode の左タブから、同じビデオ ファイルをプロジェクトにドラッグします--->ビルド フェーズ--->バンドル リソースをコピーします

通常、コピー バンドル リソースにはプロジェクト ファイルがありますが、ビデオ ファイルが含まれていない場合もあります。

今すぐプロジェクトを実行して、ビデオを楽しんでください......!!

幸運を

于 2015-08-23T18:50:36.537 に答える