How does QWebKit play a flash?
I am using Qt 4.7.1 and hope to use QWebView to open a web site that has some flash source files.
My code like this:
@QWebView* webView = new QWebView;
The above code can work on Windows. But, on Mac, I see some icons(a box with a question mark on it). Obviously, it is failed to load the plug-in. However, as the matter of fact, I installed the plug-in in "/Library/Internet Plug-Ins/Flash Player.plugin". And, I can open this website with Safari/Firefox on Mac OS. By the way, my Mac is iMac and OS is 10.6.6.
I don't know what is wrong in my code. Could you give me some help? Thank you so much.
EDIT: added @ tag (vcsala)
I had a similar problem recently. My issue was that I was running my app as 64-bit and the flash plugin is 32-bit, so they cannot interact.
I'm using Python and PyQt, so my solution is probably different to yours, but you'll need to make sure your application compiles as 32-bit and possibly Qt as well (although this may have been compiled to support both architectures)
Hope this helps,
Thanks for your response.
Yes, my application is 64bit. The installed flash plug-in is 32bit. I guess that it could be the reason. But, my application must run as 64bit. So, :-(.
However, my Safari is 64bit. Why can it play flash? I searched this question on Internet. Some people think that I should lunch WebKitPluginHost.app. Through this host application, access 32bit flash plugin. Your idea? And, how do I lunch it in Qt? Could you help me? Thank you so much. Maybe, I should install a 64bit flash plugin. But, I don't search it on Internet. Does flash plugin have 64bit version?
I gdb my application. There is the error:
Error loading /Library/Internet
Plug-Ins/Flash Player.plugin/Contents/MacOS/Flash Player:
dlopen(/Library/Internet Plug-Ins/Flash Player.plugin/Contents/MacOS/Flash
Player, 262): no suitable image found. Did find:
/Library/Internet Plug-Ins/Flash Player.plugin/Contents/MacOS/Flash Player:
no matching architecture in universal wrapper
As far as I know, there is no version of flash for 64-bit architectures.
I don't know what the solution to your problem is if you can't compile your app as 32-bit. But you're right, Safari is able to overcome this issue so it must be possible.
Using a 32-bit host app to run the flash plugin certainly sounds like a possibility, but I don't have any experience using this. Sorry.
There is preview version of 64bit adobe-flash and it works fine on linux.
Thanks for this quick response. When build my application as 32bit, a flash can be shown. But unfortunately, my application must be 64bit. Ooops...
Thanks for your response. In fact, I installed this version of flash plug-in from "http://download.macromedia.com/pub/labs/flashplayer10/flashplayer10_2_p3_64bit_mac_111710.dmg". But, you can see that this plug-in still be 32bit, when use nm command to check its information(nm /Users/frank/Desktop/Test/fancybrowser/build/Debug/fancybrowser.app/Contents/MacOS/fancybrowser -arch x86_64). So, even if install this version of flash plug-in, a flash can not be shown, yet.
Hi Rory and Tomma,
Is there other way to show flash in Qt except for QtWebKit? Today, I will try Phonon library. Hope to see any progress. Thank guys.
Today, I tried Phonon library to play a flash. It is failed because QuickTime on which Phonon depends does not support swf(flash file format). Ooops :-(
I have the same problem, how do i compile my app as 32bit?
if I make an project only of qml and use an webview I can run html5 videos with no problem but the debugger shows lots of errors and some times the app crash, on qt I get the same error as the OP
Do you work on XCode?
If so, follow the step: "Targets" -> "(Your Application)" -> "Get Info" -> go to "Build" table -> go to "Architectures" -> go to "Architectures" -> Select "32-bit Itel".
That's all. Hope that it can help you.
I resolved this problem. The solution just is to invoke a 32bit process(in fact, it is a application) to play a flash while a 64bit application executes. So far, everything is OK. By the way, I don't use WebKitPluginHost.app. :-)
Generally, I expect that Adobe can release early 64bit flash plug-in. After all, it is a real way.
Anyway, thank Rory and Tomma.
thanks, I don't work on xcode but i've figured it out how to do.
i've added this to my .pro file:
CONFIG -= x86_64 ppc64
CONFIG *= x86
I don't need a native 64bit app so i can build it all in 32 :)
If you want to make some older Mac users with PowerPC machines (yes, there are still a lot of them around running OS X 10.5!), then change your line to this in order to make a 32 bit universal app:
CONFIG *= x86 ppc
with ppc I get errors as i've posted in the other thread :)
Sorry, I missed that. It was just that people slowly forget about this ancient platforms in their apps :-) In most cases there is no or little technical reason for this.
I had a similar problem recently，os：embedded linux
firefox play is ok , but Qtwebkit is not play
view = new QWebView(this);
libflashplayer.so is save /root/.mozilla/plugins
[EDIT: code formatting, please wrap in @-tags, Volker]
who help me?