Зарегистрируйте MPEG-4 как перетаскиваемый тип, используя pyobjc на MacOSPython

Программы на Python
Anonymous
Зарегистрируйте MPEG-4 как перетаскиваемый тип, используя pyobjc на MacOS

Сообщение Anonymous »

Я пытаюсь зарегистрировать MPEG-4 как перетаскиваемый тип с помощью pyobjc с конкретной целью — иметь возможность перетаскивать голосовые заметки непосредственно из приложения в мое собственное приложение Python.
Я попробовал зарегистрировать типы UTI «public.audio», «public.mpeg-4-audio», NSPasteboard.URLType и NSPasteboard.fileURLType согласно официальной документации Apple. Однако удаление файла в моей программе всегда приводило к одной и той же ошибке: «Не удалось открыть документ x. Python не может открывать файлы в формате Apple MPEG-4 audio».
Вот это минимальный воспроизводимый пример:
from AppKit import NSApplication, NSObject, NSDragOperationCopy, NSWindow, NSView, NSPasteboard, NSPasteboard
from PyObjCTools import AppHelper

class DropView(NSView):
def initWithFrame_(self, frame):
self = super(DropView, self).initWithFrame_(frame)
if self:
self.registerForDraggedTypes_(["public.audio", "public.mpeg-4-audio", NSPasteboard.URLType, NSPasteboard.fileURLType])
return self

def draggingEntered_(self, sender):
pboard = sender.draggingPasteboard()
return NSDragOperationCopy

def performDragOperation_(self, sender):
pboard = sender.draggingPasteboard()
print(pboard)
return True

class AppDelegate(NSObject):
def applicationDidFinishLaunching_(self, notification):
self.window = NSWindow.alloc().initWithContentRect_styleMask_backing_defer_(((100, 100), (400, 300)), 1

Подробнее здесь: https://stackoverflow.com/questions/776 ... c-on-macos

Вернуться в «Python»