如何将ios音频上传到服务器?
Posted
技术标签:
【中文标题】如何将ios音频上传到服务器?【英文标题】:How to upload the ios audio to server? 【发布时间】:2013-03-01 12:23:10 【问题描述】:我已尝试将音频文件上传到服务器。而且我在列表音频中使用了 MPMedia Picker 视图,当我要选择要上传到服务器(http)的音频时,我该怎么做。任何人都可以提供任何示例教程或示例代码。
我已经尝试了以下代码。
- (IBAction)openMediaPicker:(id)sender
MPMediaPickerController *mediaPicker = [[MPMediaPickerController alloc] initWithMediaTypes:MPMediaTypeMusic];
mediaPicker.delegate = self;
mediaPicker.allowsPickingMultipleItems = YES; // this is the default
[self presentModalViewController:mediaPicker animated:YES];
[mediaPicker release];
- (IBAction)volumeSliderChanged:(id)sender
self.musicPlayer.volume = self.volumeSlider.value;
#pragma mark MPMediaPickerController delegate methods
- (void)mediaPicker: (MPMediaPickerController *)mediaPicker didPickMediaItems:(MPMediaItemCollection *)mediaItemCollection
// We need to dismiss the picker
[self dismissModalViewControllerAnimated:YES];
// Assign the selected item(s) to the music player and start playback.
[self.musicPlayer stop];
[self.musicPlayer setQueueWithItemCollection:mediaItemCollection];
[self.musicPlayer play];
- (void)mediaPickerDidCancel:(MPMediaPickerController *)mediaPicker
// User did not select anything
// We need to dismiss the picker
[self dismissModalViewControllerAnimated:YES];
【问题讨论】:
您必须添加更多细节才能获得好的答案。您在服务器端或客户端有问题吗?您的服务器端期望什么?你知道如何处理音频文件吗?你试过什么?... 我不知道你能解释一下吗?还有任何示例代码。 请看一下,this 可以帮到你 您好,我已经完成了图像上传。然后我尝试上传音频文件但不工作。原因音频文件路径不正确,如何获取音频路径并解析到服务器 url。 【参考方案1】:从 mediaItemCollection.items 数组的某个索引初始化 MPMediaItem 对象:
MPMediaItem *anItem = (MPMediaItem *)[mediaItemCollection.items objectAtIndex: row];
然后调用-valueForProperty:方法:
NSURL *assetURL = [anItem valueForProperty: MPMediaItemPropertyAssetURL];
您可以从此处描述的 MPMediaItem 获得其他属性:http://developer.apple.com/library/ios/#DOCUMENTATION/MediaPlayer/Reference/MPMediaItem_ClassReference/Reference/Reference.html
在“通用媒体项属性键”下查看
希望这会有所帮助!塔姆斯
使用 ASIHTTPRequest 上传如下音频文件,
NSURL *audiourl = [NSURL URLWithString:@"Your Url"];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:audiourl];
NSData *postData = [NSData dataWithContentsOfURL:SoundPath];
//SoundPath is your audio url path of NSDocumentDirectory.
[request addData:postData withFileName:@"myAudio.caf" andContentType:@"audio/caf" forKey:@"company_audio"];
[request setDelegate:self];
[request startSynchronous];
这样您就可以轻松上传服务器上的音频文件了。
【讨论】:
嗨,如何获取我的音频文件名和类型。如何解析我的网址。 请告诉我你的问题解决与否 MPMediaItem *anItem = (MPMediaItem *)[mediaItemCollection.items objectAtIndex: row];这在这里使用 - (void)mediaPicker: (MPMediaPickerController *)mediaPicker didPickMediaItems:(MPMediaItemCollection *)mediaItemCollection 我是对的 .row 显示错误 嗨,我得到了这个路径 nsurl *asserturl:assetURL ipod-library://item/item.mp3?id=-1116930734541307400以上是关于如何将ios音频上传到服务器?的主要内容,如果未能解决你的问题,请参考以下文章
如何在给定 blob url 的情况下将大型音频文件上传到 django 服务器?