1

私はiPhone開発に不慣れで、HTMLオブジェクトをにロードしようとしていますUIWebView

問題は、HTMLデータを文字列に変換すると、アプリがクラッシュしてと言うことEXC_BAD_ACCESSです。オブジェクトはbrightcoveビデオであり、埋め込みコードをbrightcove Webサイトから直接コピーしたため、なぜ機能しないのかわかりません。どんな助けでも大歓迎です。

コード:

NSString *brightstring = [NSString stringWithFormat:@"<html><body><object id=flashObj width=540 height=400 classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000 codebase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,47,0><param name=movie value=http://c.brightcove.com/services/viewer/federated_f9?isVid=1 /><param name=bgcolor value=#FFFFFF /><param name=flashVars value=videoId=%@&playerID=659636031001&playerKey=AQ~~,AAAAC59qSJk~,vyxcsD3OtBM6WfpHEsDft5laXH9ASJhF&domain=embed&dynamicStreaming=true /><param name=base value=http://admin.brightcove.com /><param name=seamlesstabbing value=false /><param name=allowFullScreen value=true /><param name=swLiveConnect value=true /><param name=allowScriptAccess value=always /><embed src=http://c.brightcove.com/services/viewer/federated_f9?isVid=1 bgcolor=#FFFFFF flashVars=videoId=%@&playerID=659636031001&playerKey=AQ~~,AAAAC59qSJk~,vyxcsD3OtBM6WfpHEsDft5laXH9ASJhF&domain=embed&dynamicStreaming=true base=http://admin.brightcove.com name=flashObj width=540 height=400 seamlesstabbing=false type=application/x-shockwave-flash allowFullScreen=true swLiveConnect=true allowScriptAccess=always pluginspage=http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash></embed></object></body></html>", clipid]; //<--Crashes Here

NSString* html = [NSString stringWithFormat:brightstring, 540, 400];  

[videoScreen loadHTMLString:html baseURL:nil];  
4

2 に答える 2

0

それはとても簡単です:

NSString *brightstring = [NSString stringWithFormat:@"...videoId=%@&...videoId=%@&...", clipid]; //<--Crashes Here

フォーマット文字列に 2 回ありますが%@、引数を 1 つだけ渡します。

ファイルから HTML を読み込み、-stringByReplacingOccurrencesOfString:withString:ビデオ ID を入力するために使用することをお勧めします ( のようなプレースホルダーを使用します${VIDEO_ID})。

于 2013-03-09T01:34:38.413 に答える
0

ビデオはフラッシュビデオのように見えますが、私の知る限り (間違っているかもしれません)、iOS はフラッシュをサポートしていません。mp4、mpv、3gp などの別の形式を使用してみてください。テスト目的で、最初に .html ファイルをホストし (ホスティング会社がある場合、または apache を使用してローカルで実行する場合)、携帯電話の Web ブラウザーからアクセスします。 . そこでうまくいかない場合は、この方法でもうまくいかないことは確かです。

于 2013-03-09T01:47:56.007 に答える