菜鸟教程小白 发表于 2022-12-13 09:38:33

ios - 如何使用 MPMediaPickerController 使用单个 UIButton 单击选择单个歌曲


                                            <p><p>我有四个 UIButton 可以使用 MPMediaPickerController 从库中选择歌曲。
现在我想要的是
当我按下 UIButton1 时,它应该打开选择歌曲 1 的选择器。
当我按下 UIButton2 时,它应该打开选择歌曲 2 的选择器。 UIButton3 和 UIButton4 也一样。</p>

<p>我可以在哪里更改以实现上述内容。</p>

<p>这是我当前的代码。</p>

<p></p> <pre>-(IBAction)SelectSongClick:(id)sender
{
    MPMediaPickerController *picker = [ initWithMediaTypes:MPMediaTypeAnyAudio];
    ;
    ;<p></p>

<pre><code>if((UIButton*)sender == btnSelect1)
{
    ;
    ;
    picker.title = @&#34;1&#34;;
}
else if ((UIButton*)sender == btnSelect2)
{
    NSLog(@&#34;select 2 selected&#34;);

    ;
    ;
    picker.title = @&#34;2&#34;;
}
else if ((UIButton*)sender == btnSelect3)
{
    NSLog(@&#34;select 3 selected&#34;);
    ;
    ;
    picker.title = @&#34;3&#34;;
}
else
{
    NSLog(@&#34;select 4 selected&#34;);
    ;
    ;
    picker.title = @&#34;4&#34;;
}

;
</code></pre>

<p>}</p>


- (void)mediaPicker:(MPMediaPickerController *) mediaPicker didPickMediaItems:(MPMediaItemCollection *) 集合
{
    [ self dismissViewControllerAnimated:YES完成:NULL];

    MPMediaItem *item = [[收藏项] objectAtIndex:0];
    NSString *title = ;
    url = ;
    ;
    NSLog(@"URL 1 : %@",url);
    self.sendAudio = 网址;
}
</pre></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>如果我正确理解了您的问题,那么您想更改方法:<code>- (void)mediaPicker:(MPMediaPickerController *) mediaPicker didPickMediaItems:(MPMediaItemCollection *) collection</code> 这样您就可以从中获取选定的按钮索引? </p>

<p>在 <code>@interface ViewController</code> 上方创建枚举:</p>

<pre><code>typedef enum {
    WaveFormType_1, //you can name these enums as you want
    WaveFormType_2,
    WaveFormType_3,
    WaveFormType_4
}WaveFormType;
</code></pre>

<p>然后创建一个变量 <code>WaveFormType waveType;</code> 并根据点击的按钮在 <code>-(IBAction)SelectSongClick:(id)sender</code> 中为其赋值。然后使用这个值。</p>

<pre><code>- (void)mediaPicker:(MPMediaPickerController *) mediaPicker didPickMediaItems:(MPMediaItemCollection *) collection
{   
    ;

    MPMediaItem *item = [ objectAtIndex:0];
   
}

-(void)playItem:(MPMediaItem *)item{
   NSString *title = ;
   NSURL *url = ;

   if (self.waveType == WaveFormType_1){

         // play with the first waveform type
         // label.text = title ..

   }else if(self.waveType == WaveFormType_2){

         // play with the second waveform type
         // label.text = title ..
   }
   // an so on
}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如何使用 MPMediaPickerController 使用单个 UIButton 单击选择单个歌曲,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/31871038/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/31871038/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如何使用 MPMediaPickerController 使用单个 UIButton 单击选择单个歌曲