如何在 iOS 10 的 iMessage 应用程序中发送带有图像和标题的音频文件?
Posted
技术标签:
【中文标题】如何在 iOS 10 的 iMessage 应用程序中发送带有图像和标题的音频文件?【英文标题】:How to send audio file with image and caption in iMessage app for iOS 10? 【发布时间】:2016-12-28 15:52:29 【问题描述】:我正在创建 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 来代替图片吗?
任何帮助将不胜感激,谢谢。
【问题讨论】:
【参考方案1】:不必使用GIF
,iMessage
扩展也支持PNG
和JPEG
图像格式。推荐的图像尺寸为 300x300 点 @3x 比例。
如果MSMessageTemplateLayout
的image
属性具有非零值,则
mediaFileURL
属性被忽略。因此,您不能同时发送图像和音频文件。 Docs
【讨论】:
如果我不能,那么音频看起来会很丑。 你可以希望这是一个暂时的限制。由于 ios 10 仍处于测试阶段,因此情况可能会发生变化。 如果您认为能力不足,可以提交错误报告/功能请求。 能否请您参考 iMessage 应用名称“chatterbird”?他做同样的事情。 @SohilR.Memon 我看过这个 Chatterbird 应用程序并且非常沮丧,因为它看起来好像他们弄明白了。然而!如果您仔细点击“播放”按钮之外的绿色消息,它将全屏打开,您将在顶部看到系统生成的文件名,它实际上是一个 .mp4 文件。所以我的猜测是,他们也无法让它工作,他们的解决方案/黑客是创建一个视频文件只是为了发送一个 m4a 音频文件。视频部分仅显示第一帧的播放按钮和其余的空白绿屏。以上是关于如何在 iOS 10 的 iMessage 应用程序中发送带有图像和标题的音频文件?的主要内容,如果未能解决你的问题,请参考以下文章
iOS 10 iMessage 贴纸应用中 MSSticker Peels 的回调
如何在 iMessage iOS 11(或 iOS10、Macos Sierra)中禁用 URL 链接预览