单声道检测是否在 OS X 上以交互模式运行

本文关键字:交互 运行 模式 OS 声道 是否 检测 单声道 | 更新日期: 2023-09-27 18:32:23

我正在Mac OS X和Windows上开发一项服务,取决于我是从命令行运行还是作为服务运行它的行为不同。

Windows上的这行代码工作正常

Environment.UserInteractive

但它总是根据单声道源返回 false:

https://github.com/mono/mono/blob/master/mcs/class/corlib/System/Environment.cs#L358

Mac OS X有什么解决方法吗?

单声道检测是否在 OS X 上以交互模式运行

查看单声道源代码并找到我正在寻找的内容!

https://github.com/mono/mono/blob/master/mcs/class/Mono.Posix/Mono.Unix.Native/Syscall.cs#L4838

[DllImport (LIBC, EntryPoint="isatty")] 
private static extern int sys_isatty (int fd); 

public static bool isatty (int fd) 
{ 
    return sys_isatty (fd) == 1; 
}