Ich habe intensiv geforscht und Lösungen gefunden. Die Schlussfolgerung von Mathieu (dass Google die Argumente ändert und Sie Ihre eigene App schreiben müssen) ist falsch. Das Problem ist, dass Google nach domainübergreifendem Zugriff sucht. Es wird nicht über Adobe Flash Player crossdomain.xml reguliert, wie in this Fall , überraschend. Flash Player versucht nicht, diese Datei vom Server-Stammverzeichnis zu laden (getestet in Firebug).
Das Problem ist, dass Google nach Referer sucht, und wenn das gesetzt ist, weigert es sich, den Inhalt zu laden, überprüfen Sie bitte:
Das Problem besteht also darin, dass ein Spoofing für Inline-Content stattfindet.
Sie können einen einfachen Trick verwenden: beziehen Sie sich auf die mp3-Datei in <img src="">
tag, siehe mein Beispiel , mit angehängtem Referer-Spoofing. Dann muss der Flash-Player ihn nicht herunterladen, da er bereits im Cache ist. Es gibt Lösungen, um Referer von Inline-Inhalten zu entfernen (siehe > RefererKiller-Implementierung für Bilder ). Ein Kommentar weist jedoch darauf hin, dass die browserübergreifende Kompatibilität möglicherweise ein Problem darstellt.
Die einfachste Lösung ist also, https
protocol zu verwenden - löschen Sie Ihren Cache und versuchen Sie den obigen Link mit https hinzugefügt . Der Referer wird nicht für Inline-Content festgelegt . Wenn Sie jedoch kein vertrauenswürdiges Zertifikat haben, möchten Sie wahrscheinlich nicht, dass Ihre Benutzer den schrecklichen 4-Klick-Prozess durchlaufen, um das Vertrauen in Ihr Zertifikat zu bestätigen. In diesem Fall möchten Sie wahrscheinlich eine andere Lösung wählen.
Anstatt die mp3-URL direkt aufzurufen, verwenden Sie ein PHP-Skript, um Cross-Domain-Probleme zu vermeiden
Tags und Links html flash cross-domain text-to-speech