15

我正在创建 iMessage 应用程序并尝试将音频或视频文件发送给其他用户。

视频文件可以正常工作并且看起来很好,但它不能按预期与音频文件一起工作。

我目前的代码是:

let destinationFilename = mp3FileNames[i]
let destinationURL =  docDirectoryURL.appendingPathComponent(destinationFilename)

if let conversation = activeConversation {

    let layout = MSMessageTemplateLayout()
    layout.image = UIImage.init(named: "audio-x-generic-icon")
    layout.mediaFileURL = destinationURL
    layout.caption = selectedSongObj.name

    let message = MSMessage()
    message.layout = layout
    message.url = URL(string: "emptyURL")

    conversation.insert(message, completionHandler: nil)


    return
}

看起来layout.mediaFileURL = destinationURL没有将任何文件添加到消息中。

当我尝试使用上述代码发送文件时,如下所示:

在此处输入图像描述

看起来不错,但没有音频可以播放,但如果我尝试这种方式:

let destinationFilename = mp3FileNames[i]
let destinationURL =  docDirectoryURL.appendingPathComponent(destinationFilename)

if let conversation = activeConversation {

    conversation.insertAttachment(destinationURL!, withAlternateFilename: nil, completionHandler: nil)
    return
}

上面代码的结果是:

在此处输入图像描述

我可以播放该消息的音频,因为它就在那里。但该消息的问题是我无法附加任何图像或标题。

如何将图像和音频文件附加到同一条消息中。

如果可能的话,我可以添加 GIF 而不是图像吗?

任何帮助将不胜感激,谢谢。

4

1 回答 1

8

不需要使用GIFiMessage扩展也支持PNGJPEG图像格式。推荐的图像尺寸为 300x300 点 @3x 比例。

如果MSMessageTemplateLayout' 的image属性具有非 nil 值,则 mediaFileURL忽略该属性。因此,您不能同时发送图像和音频文件。文档

于 2016-08-26T07:11:13.223 回答