2010-01-17 18 views
0

J'ai utilisé l'exemple de code de http://cocoawithlove.com/2008/09/streaming-and-playing-live-mp3-stream.html. il fonctionne bien avec l'URL par défaut. Mais quand je remplace avec mon URL "http://dl.mp3.kapsule.info/fsfsdfdsfdserwrwq3/fc90613208cc3f16ae6d6ba05d21880c/4b5244f0/b/7e/b7e80afa18d06fdd3dd9f9fa44b51fc0.mp3?filename=Every-Day-I-Love-You.mp3", cette application affiche un message comme "Audio introuvable". Mais quand je mets mon URL sur la barre d'adresse du navigateur Web, je peux télécharger ce fichier .mp3.Diffusion et lecture d'un flux MP3. .mp3 format d'URL

vraiment, je ne peux pas comprendre pourquoi c'est?

satisfait dites-moi!

Merci beaucoup

Répondre

0

C'est parce que l'URL par défaut pointe directement vers un fichier dans le serveur Web, alors que l'URL que vous avez mentionné est une opération HTTP (POST/GET), que la demande ne peut pas être conçu pour gérer.

+0

Ensuite, ce serait une application très mal conçue. –

+0

alors pourriez-vous me dire comment gérer une opération HTTP (POST/GET) pour le streaming des fichiers audio .mp3 sur IPhone – user252606

+0

Découvrez quel est le problème en premier. Mettez votre fichier à une URL normale et voir si cela fonctionne. –

1

Je suppose que l'application est conçue pour lire un fichier audio encodé en MP3 flux sans limite de longueur (ce qui est différent de votre fichier musical ordinaire). Pour configurer ceci, vous avez besoin d'un serveur de streaming côté client.

Je pense que vous pouvez le savoir à coup sûr en essayant avec une station de radio différente qui transmet en MP3. Si cela fonctionne, il est fort probable que votre application n'aime pas votre fichier. Comme recommandé par Vivek, vous devriez également essayer d'utiliser une URL de téléchargement plus simple pour votre fichier, au cas où l'application serait perturbée par la longueur et/ou la structure de l'URL.

1

Comme mentionné, cela est dû à l'URL du fichier. Le code AudioStreamer vérifie spécifiquement l'extension du fichier et essaie de comprendre le type audio en fonction de cela. Si vous changez cette logique pour gérer vos URL personnalisées, il va commencer à travailler

Donc, pour vous orienter dans la bonne direction: AudioStreamer.m ouvert et chercher les références de

hintForFileExtension: 

Cette fonction retourne le type du fichier basé sur l'extension. Si vous connaissez le type de fichier ne changera pas (toujours mp3), la solution rapide et sale est d'attribuer toujours le type mp3 sans aucune logique ... comme ceci:

err = AudioFileStreamOpen(self, MyPropertyListenerProc, MyPacketsProc, kAudioFileMP3Type, &audioFileStream); 

Note: J'ai mis constante kAudioFileMP3Type au lieu de la valeur calculée

PS oui, il fonctionne avec les fichiers mp3 statiques, même s'il est conçu pour les flux et manque donc certaines fonctionnalités que l'on peut attendre d'un lecteur qui lit un fichier statique sur le serveur (mise en cache, pré-chargement , recherche correcte)

0

Je suppose que votre URL est à usage unique. Quand j'essaie de le visiter, je vois 408 - Request Timeout.

De nombreux liens sur les sites de partage de fichiers en masse sont comme ça. Si vous pouviez télécharger le fichier directement, vous ne seriez pas assis sur une page d'annonces et d'offres de compte premium.

Réessayez avec un fichier sur un site Web normal, par exemple this one.